While I wait to hear if more people are getting crashes, I am still pleased that it seems to be mostly transitional/save/load crashes now. That’s still far less than before, so progress has been made.
While we wait, I figure I’ll show you some performance benchmarks I took today to compare v1.11 of C2A5G with v2 of C2A5G. The results have been interesting and not quite what I expected. I look at this in a fair amount of detail, so if you enjoy that stuff, sit back and enjoy. I do hope I haven’t wasted my time too much here!
To take these benchmarks I used Fraps’s benchmarking feature, which is really neat. It measures the Average/Min/Max framerate of any desired section you want. I divided G up into 13 segments, based on location/amount of action. The categories map out a typical playthrough of the map in terms of progression.
The term action refers to the framerate of a section while there is fighting going on of some description. Static just means the scene is “blank,” and nothing happens aside from me running around. I made sure to take the same routes and look in the same directions on both tests for each area to ensure the most reliable results possible. Still, take them with a pinch of salt.
The rig I used to test:
Intel i5 2500K @ 3.3ghz
AMD Radeon HD 6950 @ 2GB VRAM
8GB RAM
Windows 7
Game @ 1920X1080, everything on max, full AA and AF
The results are here:
v2 Car Park (Action) - Avg: 63.331 - Min: 33 - Max: 130
v1.11 Car Park (Action) - Avg: 65.707 - Min: 42 - Max: 114
v2 Car Park (Static) - Avg: 121.499 - Min: 62 - Max: 257
v1.11 Car Park (Static) - Avg: 83.029 - Min: 54 - Max: 220
v2 Car Park (Top Floor Action) - Avg: 89.744 - Min: 56 - Max: 181
v1.11 Car Park (Top Floor Action) - Avg: 62.619 - Min: 46 - Max: 112
v2 Car Park (Top Floor Static) - Avg: 105.879 - Min: 53 - Max: 194
v1.11 Car Park (Top Floor Static) - Avg: 64.869 - Min: 44 - Max: 93
v2 Street (Action) - Avg: 52.269 - Min: 29 - Max: 79
v1.11 Street (Action) - Avg: 73.280 - Min: 46 - Max: 90
v2 Garage - Avg: 91.690 - Min: 40 - Max: 181
v1.11 Garage - Avg: 75.910 - Min: 27 - Max: 122
v2 TOW Courtyard (Action - AGrunts) - Avg: 46.559 - Min: 33 - Max: 74
v1.11 TOW Courtyard (Action - AGrunts) - Avg: 49.606 - Min: 33 - Max: 84
v2 TOW Courtyard (Static) - Avg: 70.368 - Min: 36 - Max: 146
v1.11 TOW Courtyard (Static) - Avg: 79.228 - Min: 42 - Max: 136
v2 Red Road - Avg: 92.826 - Min: 40 - Max: 127
v1.11 Red Road - Avg: 96.105 - Min: 44 - Max: 119
v2 Helipad (Action) - Avg: 40.615 - Min: 29 - Max: 58
v1.11 Helipad (Action) - Avg: 50.538 - Min: 26 - Max: 112
v2 Helipad (Static) - Avg: 71.067 - Min: 43 - Max: 113
v1.11 Helipad (Static) - Avg: 89.394 - Min: 60 - Max: 165
v2 Helipad (Facing TOW - Static) - Avg: 90.001 - Min: 51 - Max: 171
v1.11 Helipad (Facing TOW - Static) - Avg: 91.800 - Min: 59 - Max: 153
This might be a bit difficult to digest, so I broke it down into an Excel graph which would make a 15 year old studying maths very proud:
The large peaks and troughs on the graph are mostly moving from action to static scenes, which does naturally provide a significant difference in performance due to higher number of AI and effects on screen.
One of the interesting overall trends you’ll see on the graph is that the framerates for the action sequences are very similar for v2 and v1.11, aside from the street which is much worse performing in v2. This is probably because the cost of calculating the AI/effects from their fighting doesn’t really change from version to version.
We can see very clearly that the framerate in the Car Park in v2 is SIGNIFICANTLY improved. There is nearly a 35FPS gain when just running around the car park after the fight. The only time the framerate is lower in v2 is during the fight big fight in the Car Park, and that difference is so slight (2 frames) that we can probably chalk that one down to random variables.
I was surprised that the top floor of the car park runs better in v2. The new window should have hurt performance quite a bit. Likely the harm done by the new window forcing the outdoor area to render, is outweighed by the benefits brought on by optimization changes making the lower floors of the car park no longer render in v2. This is good.
The street battle (observed from the hole in the top floor of the car park) performs MUCH worse in v2, something which I hadn’t noticed or anticipated. This is probably because the TOW courtyard, which can be seen from there, is substantially more detailed than before. For my rig at the very least however, this is still well within acceptable bounds.
The Garage running better in v2 is something which surprised me too - considering I made the window leading to the TOW Courtyard transparent for v2. It most likely performs a lot better due to optimization changes I made to the TOW Courtyard using visleaves.
The TOW Courtyard, on average, runs a fair bit worse in v2 compared to v1.11, and still faces the same problem spots. For me, the average framerate during the fight with the Agrunts is 46 in v2, which is still acceptable - but might be very difficult for players with weaker rigs. Bear in mind the difference in action framerates between the two versions for the TOW courtyard is only 2 frames per second, however. When simply walking around the TOW Courtyard, the difference between the 2 versions is 9 FPS in favour of v1.11. This surprised me a bit - I was expecting v2 to run A LOT slower than a 9 FPS difference. Overall I consider this moderate performance drop to be acceptable given the very large increase in visual quality in the TOW Courtyard, though others may not consider that a good compromise.
The Helipad follows much he same trend, with the average difference in FPS being around 10 again.
Overall we can see that the two most improved areas visually by far (the TOW Courtyard and Helipad) have had a 10fps drop on average. This is good news for anyone who had decent framerates before - the new version shouldn’t cause too much of a problem with the game’s smoothness. For those of you with weaker rigs who were having bad framerate issues with v1.11 however, it may very well be wise to steer clear of v2, as it is overall more demanding later on into the map.
Comparing the linear trends (labelled as “linear” on the graph) you can look at the total area between the two lines to figure out how much performance has been gained overall with v2. The center point of the two lines (where they intersect) is the time at which the performance of v1.11 starts to be superior to v2’s performance. The triangular region to the left of that point is the time where v2’s performance is on average better than v1.11.
Comparing those two triangular regions, you don’t even need to precisely measure their area to see that v2’s “performance region” is significantly larger than v1.11’s. I would estimate around 1.5X. This means that in terms of overall performance looking at the level G as a whole, v2 DOES perform better overall, even if it does worse in the more intensive areas.
I’m pleased with this. It could be better, but I’m pleased with it.