Greetings!
I’m having some trouble finding the source of a performance issue that I’m encountering, and I’m hoping that someone here will have some insight.
In short, some areas seem to have conspicuously low frame-rates–lower than I’d expect, given the scenes. Other areas, however, seem to have a far lesser impact on performance.
I’ve spent some time hunting for the source of this problem, and indeed have made some performance gains via optimisations discovered along the way. However, the core issue remains–indeed, I have a few views in the game that don’t always reach sixty frames per second, I believe.
Looking at PStats, the GPU-specific graph seems to show a large chunk of time in ->“Draw”->“window1”->“dr_0”.
No one category takes up the same amount of time in the general graph, I believe. The largest here seem to be “Wait”->“Flip”->“End”, and a similar amount split roughly evenly between “App”->“Bullet” and “App”->“Show code”, the latter being dominated by “garbageCollectStates” and my main update task. However, by that stage we’re talking about fairly small durations–“garbageCollectStates”, for example, only uses about 1.7ms in a “problem room”.
I do seem to have more nodes than I’d expect: around 190-210, with a little over half being Geoms, and depending on where I stand, I think.
One value that I slightly suspect of being relevant is the number of render states: I’m seeing somewhere around 450, according to PStats.
Another that I’m uncertain of is the vertex-count: in one problem room I’m seeing around 450 000-600 000 being reported in PStats–but I honestly don’t know whether that’s a high number or not. It does seem that “non-problem rooms” tend to have lower vertex counts–but I’m not sure that I have enough examples to be confident of that.
Attempts to compare stats produced when looking at views that give various frame-rates hasn’t yet produced anything terribly compelling–to my eye, at least.
There are two things that might muddy the waters:
First, I have antialiasing active. Disabling it does, naturally, improve my frame-rate–but “problem rooms” seem to remain significantly slower than others, if I recall correctly.
Second, I’m working in Ubuntu Linux, and I’ve come to suspect that my drivers there might be a minor issue–although it’s hard to tell with confidence.
My thanks for any help!