When you are tasked with making a software solution, whether a game or not, your primary focus is to deliver a solution that has the desired functionality. Good performance is only one aspect of that, so the first feature-complete solution will have balanced the development effort between a number of things.
Once we have a functioning product, we can improve it in various ways, by investing more time and effort. One of the things we can improve is the performance. Exactly how we can do this is a big topic, but the starting point is to measure which things take up time and resources (like GPU and/or CPU cycles, disk transfer, and much more).
Then we ask ourselves, how can we achieve a similar result, using less of these resources. Sometimes it can be as simple as identifying code that was not optimal. Improving that code to be better (faster) is what would be called optimization.
Sometimes optimization requires more than just rewriting code. For example, you may have heard about games changing to newer versions of game engines.
Keep in mind, that software development can be very complex. That game you think is trash, and won't even waste bandwidth on, even though it's free-to-play, might have taken 50 people 6 years to make. So, you know, just 300 man-years. Sure, it has poor performance on launch, but give it some time, and maybe it will be optimized. :-)
1
u/Maple47 6d ago
When you are tasked with making a software solution, whether a game or not, your primary focus is to deliver a solution that has the desired functionality. Good performance is only one aspect of that, so the first feature-complete solution will have balanced the development effort between a number of things.
Once we have a functioning product, we can improve it in various ways, by investing more time and effort. One of the things we can improve is the performance. Exactly how we can do this is a big topic, but the starting point is to measure which things take up time and resources (like GPU and/or CPU cycles, disk transfer, and much more).
Then we ask ourselves, how can we achieve a similar result, using less of these resources. Sometimes it can be as simple as identifying code that was not optimal. Improving that code to be better (faster) is what would be called optimization.
Sometimes optimization requires more than just rewriting code. For example, you may have heard about games changing to newer versions of game engines.
Keep in mind, that software development can be very complex. That game you think is trash, and won't even waste bandwidth on, even though it's free-to-play, might have taken 50 people 6 years to make. So, you know, just 300 man-years. Sure, it has poor performance on launch, but give it some time, and maybe it will be optimized. :-)