I ask myself for a long time, why actually some games run better than others as described above.
A good example of what I have now would be when I had to change to a much worse computer because of problems. Minecraft started to test and it was very jerky, the more surprised, however, I was then the other games like Skyrim or Battlefield 3 run completely without a jerk, although they also look better deuutlich. An isolated case that is probably not, especially if I browse the free shop on Steam and see some indie games look rather bad but for example. B recommend a GTX 1050 and then look at today's AAA titles where you can sometimes even grab a generation lower as far as the GraKa is concerned I'm very surprised.
That it is due to the programming has come to my ears, but can you explain to a layman, how "exactly" that comes about? / Is it possible to play the most beautiful games on the most shabby hardware in the distant future, if you like, if you program it correctly?
Different hardware requirements.
Simple example: Dark Souls Unlike PTDE, Remastered uses the GPU very heavily, but is poorly optimized and although some people were looking forward to performance improvement, DSR runs better on newer machines than PTDE, because PTDE relies more on the CPU.
That it is due to the programming has come to my ears, but can you explain to a layman, how "exactly" that comes about?
Programming is just one part of the whole problem. Sure, a developer can inadvertently incorporate design flaws into the source code, which then leads to problems, but what many players forget is just how important hardware is, but even a bad design can lead to terrible performance.
In fact, there's hardware that is better for some things than other hardware. An example here is https://de.wikipedia.org/...t_Computer and https://de.wikipedia.org/...t_Computer. Both do the same, but very different. Depending on how you use this hardware, you have a different performance. Say, if you run a computer game once with a CISC and once with a RISC, then you have a different performance without the programming having changed.
Therefore, it is important as a consumer that you do not just blindly buy the latest hardware (which, moreover, often still teething troubles), but because something intelligently enough.
In that sense, is it possible in the distant future to be able to play the most beautiful games on the most shabby hardware, if you like, if you program it correctly?
No, that will not be the case. It is already very tricky to enable the performance that today's software and thus computer games have and most of it happens at the hardware level. If you are interested in the topic, take a look at "Branch Prediction", for example.
In programming itself, one has such a high level of abstraction that one usually can't shake the performance itself and can usually only determine its complexity, ie "how clever does my code do its job".
Comparable with a clock. You see the clock and can read the time, but the interior where the "magic" happens? Since you do not get anything as an end user with. It's the same with computers. The programmer can then only decide what the clock looks like and how you can read the time.
Games, especially the polished AAA 3D titles, are walking math. Now you have to be very careful while programming that you do not tease the horse from behind and make unnecessary "detours".
The result may look the same, but it can have come about in completely different ways.
Take the good old Culling as an example. It is about not visible areas not only to render. Suppose you're standing in front of a house in your favorite RPG. Behind the house run 100 characters rum and behind it is again a forest with hundreds of trees. You do not see anything of that. As a player, you only see the house that covers the entire scene. If you implement an intelligent culling, then the entire scene behind the house does not have to be calculated big. Graphically not and content can also be greatly simplified. The characters can be calculated really rough and eat so little performance.
But every now and then a very primitive culling is implemented with the words "we'll make that better later", or it's almost completely dispensed with. If then the publication is pending and no capable developer has time, then stop with the lousy Culling delivered.
Exactly the same with other areas. For example, it is popular to exchange 3D objects with much simpler objects if the player is far from it. The player is so far away, he does not notice when the 3000 polygon tree is suddenly just a sprite (or a simple pyramid). The system must of course be implemented and constantly check how far away a player is from the object. Again, there are more or less high-performance ways to implement this.
Is it possible to play the most beautiful games on the most shabby hardware in the distant future?
Well, games have always been the performance eaters altogether. If something needs performance, then games. If better hardware comes on the market, then there will be developers who develop for it. Therefore you will probably never get to the point to be able to play the most beautiful games on the worst hardware.
But of course you will be able to play today's titles in a few years on "bad" computers. Simply because the hardware development goes on and on.
By the way, Engines create something remedy to the badly developed game. Unreal Engine, Unity3D and co. Here, developers do not have to worry about certain basic functions (culling and co). The quality is at least there ever. Nevertheless, you can also write bad games with great engines.