Friday, September 9, 2016

Fixing and Tuning

We are releasing a hotfix for American Truck Simulator to address reports of crashes from users running mods containing in-cabin physics-enabled toys. As ATS doesn't have any customizable physics-enabled cabin content in the standard game, the appropriate code support was not fully enabled in the game's codebase. However a partial code path was still working with the data, causing an abort and crashing the game. If you were not using any cabin tuning mod, you were not affected.

Sorry for the oversight, even a week of extensive Open Beta torture of the game (over 2000 pairs of eyes looking at the game by our estimates) did not reveal this crash. Our theory is that the most advanced game players who tend to opt into the open betas are generally so advanced power-users that they can deal with such a situation and workaround the problem, switch an incompatible mod off, or set the variable of g_toy_physics in the config file from "1" to "0." Unfortunately, nobody shouted loud enough to make us aware of the problem with this class of mods.

The hotfix is also addressing problems on Linux and integrated Intel chipsets, where the recently updated code failed to initialize OpenGL graphics context on game launch.

There is another avalanche of reports criticizing the game's performance; reports of noticeable drop of framerate for some users. We could not replicate this on any of our testing configurations, but we have an alternate theory that may have a merit.

Some two days ago, Nvidia released a new version of their Geforce Experience utility. This is a great tool to keep the graphics drivers up to date and to assist beginner players with optimization of game settings. Unfortunately, it seems that in our game's case, Geforce Experience is overly optimistic, using very aggressive values for the "scaling" parameter (up to 300% on mid-range cards), or for shadow quality.

The term "scaling" sounds innocent, but actually it stands for a super-sampling coefficient. Super-sampling is a brute-force method of anti-aliasing, causing the game to render the whole scene at higher resolution than the target screen resolution, and then downscaling it to actual screen size, making the picture sharper in the process. Setting it to a high value is sure to strain even a very powerful 3D card. To illustrate the matter with an example - if you have a full-HD monitor, the screen is covered roughly by 2 million pixels. With the "scaling" set to 200%, you are asking the game to render everything at a higher resolution, rendering 4 million pixes, effectively doubling the graphics's card load.

The Geforce Experience tool is happy to go and overwrite the game's config.cfg variable values, and the user may not even be aware of this change of the game's settings. If you are unhappy with the game performance, we urge you to go into game's Options screen and review the parameters on the graphics settings tab there to adjust the performance vs. looks balance according to your preference.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.