Reproduction Steps
Play any game you’ve looked at the draw calls on before, load in the whole map(if streaming is enabled), then go to the side. My map went from 1,600 draw calls to ~ 10,000
Expected Behavior
This map should be at ~ 1,350 draw calls.
Actual Behavior
It’s at ~ 8,000. This is causing performance issues.
We have tried to reproduce this, but we are not seeing the issue in our tests. Can you please send a couple place/experience ids where you see this issue?
FWIW a proper solution to this problem has been found (other than turning the feature off.) And this new solution coincidentally also improves performance in other areas. This will be part of one of the releases in the near future.
Thank you again for noticing this and reporting it, we appreciate it!
So just to be clear in the future we will expect a number of extra draw calls for a depth pre pass (which helps with fragment shader cost later in the pipeline since we’re forward+)
But an extraordinary large change in draw call count isn’t expected.
Draw calls and Triangles increased. Draw calls from 950(at this spot) to 14,500. Triangles from 600,000 to 1,890,000. Weirdly enough, FPS is not stuttering like last time, was this the change you were talking about @TigerRabbit2 ?
Sorry, to clarify - does the FPS stay the same, or is it lower but more “stable?” I.e., is this something to be worried about in regards to performance degradation?
Hey! Although I do not have the link for that post’s game in specific, I can provide you with the link to two of our games that are currently being affected heavily by this issue.
Repro steps: Spawn as SD / Security Department and shoot. Watch FPS drop. (note this was not an issue before and the game has not been updated in two months)
Repro steps (unfortunately only for Roblox staff): Select the Red Wolves team and spawn in, shoot. FPS should drop. Same situation as the game linked above.
It’s important to mention this does not happen all the time or to everyone, but it is significant enough to the point we have received countless reports about this and keep receiving them, as well as members of our team experiencing the issue themselves. It severely hinders gameplay.
Another big issue, possibly related?
This game has not released yet so I unfortunately cannot link it, but we’re experiencing upwards to
140ms spikes on the updateInvalidatedFastClusters at seemingly random times.
The same issue has all of a sudden occured in my game, Prior Extinction. (It started with yesterdays Roblox update.)
Every time new terrain / assets are loaded in with streaming enabled, a massive lag spike hits. When streaming enabled is turned off, the lag spikes are gone, but our huge map lowers FPS substantially.
Just checking in. It seems there are multiple and different issues going on here.
For the frame rate dropping while shooting and for the terrain streaming they both seem to be related to buildSkeleton function. @Sir_Bedevere is looking into the performance of this function. (And you are right, this is nearly unplayable at this point) Extra information would be helpful though. For example It would be good to get some more information on how the bullets hitting the walls is authored, are bones used, how? It would also be good to know for the dinosaur game if anything is done with the bones specifically as it seems that that is where all the time goes when streaming in the next chunk.
For the frame rate dropping due to many extra draw calls, @vrtblox was looking into it… however I just checked Vehicle Legends and I’m personally not seeing anything out of the ordinary?
The triangle counts stuff… we count triangles total submitted through the rendering pipeline. So if you have a cube of 12 triangles and you submit it through lights, or there is a depth pre pass or any other algorithm like things are being cached (so not rendered that frame), there is no way of knowing how much triangles end up being rendered. So you cannot use the triangle count on screen to count your world triangles.