The 3rd Grand Prix of the 2013 season: The Chinese grand Prix
Shanghai International Circuit v.1.0
- Reworked textures and shaders
- Optimized Objects groups
- Optimized Physics
- Improved overall performance
- Fixed known bugs
Well since the Chinese GP is the 3rd in the 2013 calendar, i thought i might as well update it rather than releasing new track mod. If i just skip it, it doesn’t feel right. Like I said a few post earlier, I owe myself and anyone who is using my mod an updated version of my tracks :P
In short, this track just got visual and performance upgrade. I believe it is much more enjoyable now ;)
Now, I want to discuss some more regarding the trending topic in my blog lately; optimization (this should be the last of it, just bear with me lol)
so how do we know if a track has been optimized or not? well the easiest way is through the render stat app, built in in the game. Let me show you a few example:
This is the stat of 4 original tracks from the game. (I forgot to to turn off the Vsync, so the fps is capped to 60. Usually it goes around 100-120)
FPS : FPS
FT: time for each frame to be rendered (in milliseconds)
DIP : number of draw calls
TRI : total number of triangles
B.Size : average size of each drawcall
Scene : triangle on scene (after culling)
CPU : cpu time
OCC : cpu occupancy
The FPS, FT, CPU, and OCC may differ depend on PC spec, but the rest should be the same. We will use these as the benchmark of well-optimized tracks (assuming kunos is good at optimizing :P )
From what I saw from original tracks, DIP is varied , range between 600 – 1300. B.Size range around 1000-1800. Both are the parameters that affect the load of GPU and Vram.
OCC range between 1.9 – 2.7, but can go as high as 3.6 at few spots. From my experiment, CPU occupancy mainly comes from physics calculations.
TRI as the total number of triangles will vary depend on the circuit. My mods for example, mostly has higher TRI because there are more scenery around the track. This obviously will cause slightly lower FPS because of heavier load of GPU :/
Anyway, let’s take a look at some track mods, including 2 of mine:
most mod that i know of have significantly higher DIP and lower B.Size.This means the objects inside the track model are ‘scattered’ in small pieces.
Imagine if we have to put together a puzzle with its pieces mixed inside a box. Compared to putting together puzzle pieces that has already been grouped and arranged on the table.
This is the situation that the GPU faced with non-optimized tracks. They have to work harder, and therefore result in lower FPS or even FPS drops.
Then if we take a look at the OCC number, all those track mods usually have much higher CPU occupancy. The reason is the same as above; Scattered and disorganized model.
But we can see interesting samples from Trial Mountain and Donington Park. Their DIP and B.Size are in the average range of kunos’s tracks, but the OCC is almost 3 times higher. This happens because physics are calculated differently, and that’s why we need different method to optimize the physics.
Next, is the comparison before and after a track has been optimized;
We can see huge difference between these two. Although the DIP is still a bit higher, yet it’s already in the normal range. And the OCC is also inside average range of Kunos’s tracks. I suppose we can safely say that this track is optimized now ;)
When I was updating the shanghai circuit, i run a little experiment to understand more about physics calculation. Then I play around a bit with it;
It can actually goes as low as 1.1 :D
All and all, I’m still learning, and I’m sure there are a lot of people who mastered this technique far better than I am. So I could be wrong, obviously :D
I just want to say that this whole thing about optimizing is very interesting for me. And I believe it’s important for all modders to understand, so they can make a good track mod that we can all enjoy
Aaaand so I guess that’s it guys. I’m done talking about this. I won’t be bothering you anymore with random talk about optimizing from now. It’s a wrap! :P
Oh and one more thing, the last screenshot is from Bahrain GP Circuit. It’s in testing and tuning stage right now. so expect it to come out soon ;)