Dev Explains How He Boosted Game's FPS Count by More Than 200. He Reminded of a Forgotten Process Called Optimization
You don't need upscaling technology to make games run smoothly. One of the developers responsible for the PC port of Ys X: Nordics explained how the extra 200 frames were achieved.
On October 25, the international PC port of Ys X: Nordics will debut on the market. Studio PH3 GmbH working on it undertook a (successful) attempt to optimize the game. CTO and former modder Peter "Durante" Thoman described how the number of frames per second was increased from 106 to 314.
The game showed problems already during the first cutscene, but the upscaling, whose various variants are considered important, was not used. Even the head of Nvidia claims that it is currently impossible to create graphics without AI. However, during the work on the port of YS X: Nordics, it was possible to improve the engine performance without resorting to these debatable measures (see Tom’s Hardware).
Higher performance without upscaling
In an extensive post on Steam Community, Peter Thoman described the optimization process for Ys X: Nordics. As he revealed at the very beginning, it took about 2.5 months, as version 0.1 came out at the end of July and 0.8 in mid-September. During this time, it was possible to improve the game's performance, which during the first cutscene had dropped below 5 fps (this happened even before the start of version 0.1).
Interestingly, the problems occurred exclusively on AMD hardware - there were no such issues with Nvidia. Developers have previously encountered similar performance drops while working on The Legend of Heroes: Trails through Daybreak. The issue concerned the operation of DirectX 11 and required a change in the way data buffered by the GPU is transmitted.
"Durante" recalls that a significant portion of the optimization work was devoted to minor improvements. Many of them involved increasing the efficiency of the game's operation. The creators removed unnecessary processes that took more time than necessary and did not contribute much to the performance of Ys X: Nordics.
One of the most interesting issues with the game was that the status of characters, monsters, and the terrain we see were all updated sequentially. The team from PH3 GmbH decided that it needs to be changed. The goal was for the engine of Ys X: Nordics to perform everything simultaneously, not one after the other. Additionally, it turned out that the system updated the animations of distant monsters and characters only every few frames.
The changes made by PH3 GmbH have caused the port to do more work than the original version and it does so much more efficiently. When implementing the simultaneous update, most of the time was spent debugging errors that appeared during the system implementation. The biggest surprise came during the final work on GPU optimization.
Efforts were made to achieve the greatest possible stability of fps count, and it was taken into account that it would therefore be smaller. However, it turned out that the port of Ys X: Nordics not only does achieve more frames per second, but maintaining them at a specific level is also easier. Ultimately, Peter Thoman believes that from the perspective of CPU performance, Ys X: Nordics is the best optimized game by PH3 GmbH.