SWTOR and Graphics–Part 7
This is the final part of the puzzle, I hope. If I find new things, like I have with this one, I will include an additional part. So what is this new information. It is finding out about how the nVidia cards and their PhysX processing performs its tasks and its ability either hinder or help the graphical performance of the application.
So, this is the option for selecting the PhysX processor. As you can see in this instance there is one selected, GeForce GTX 570, the other options are Auto-select (which is the default) and the other is CPU.
Since the 8800 line of cards, nVidia have been including PhysX processing in all their cards. So, how can this help in any way. Simple, by default in most multi-core CPUs, the Auto-select option will pick the CPU, why, it feels it can offload the processing of this to the CPU to give more power to processing the graphics.
Problem, on older multi-core CPUs this isn’t the best option. SWTOR is multi threaded and it also provides some of this functionality through multiple processes. There is a lot of thread marshalling happen between these two processes, as would normally happen in these instances. Then, depending on the setup of your system, it is also processing the TCP stack on the CPU, loading and streaming textures and models from the disk and sending it to the GPU for spitting out on the screen, also providing some of the basics of the initial sound processing, the loading of sounds into memory and sending them to the Sound Card. That is a lot of processing.
I am running a Intel Core2 Quad, @2.4GHz, no slouch in the processors stakes, but old, since we are typically in the mid to high 3GHz range. While running SWTOR my processor is running at about 70% of capacity. This sounds fine, still 30% load on that card. But that is also while I am not moving since I am looking at these values as I am stationary. Move, things change, it will spike at about 80%, that what can happen, the OS will need to page and this is where we will see drops in frame rate as things are shifted from memory to disk and so on.
So, force the PhysX processing to be GPU, and you may see a more consistent frame rate in the game. Will this improve the frame-rate, possibly. So, a question might arise is, where is physics used. Many places in the game, jumping, leaping, throwing. You might have seen that in areas where there is a lot of projectile fire the frame rate may drop. These are the areas that will benefit most from moving the PhysX processing onto the card and off the CPU. Why, there are so many blaster bolts, each of of those needs to have trajectory calculated. Then there is the leaping, including the physics of the clothing if there is robes, etc… then do this for multiple players, then pulling all of that data from the network.
Thankfully the physics information is only local, it is merely sending, this person jumped this direction. The local code will take card of rendering it and all other processing required. So, give the CPU one extra task, will free up a decent amount of processing from the CPU. Physics is very processor intensive, the mathematics calculations per frame, or more, is astonishing. The PPU (Physics processing unit) is made for these calculations, it is a high-speed number cruncher, and can churn out the results of these calculations much faster than the CPU. So, if these can be processes faster, it means that the item can be updated faster and therefore rendered faster.
So after all of that explanation I am saying, if you are running a new i5, or i7 CPU, or one of AMDs processors, with 6 or more cores and running at 3GHz or faster, then set the value to the CPU. If you don’t have those kind of specs, then use the GPU. This can be done on a per game basis, or globally.