Draw calls increased by 5x

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.

Issue Area: Engine
Issue Type: Performance
Impact: High
Frequency: Constantly
Date First Experienced: 2021-09-29 19:09:00 (-04:00)

9 Likes

Hello Phoninian,

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?

Hi, here: Vehicle Legends - Roblox

I can send a micro profiler dump in DMs if you’d like

Thank you I will have a look now. Don’t worry about the micro profiler dump, I can make those.

1 Like

It should be (largely) back to normal shortly

1 Like

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!

6 Likes

Seems like draw calls are back up again(but not clusters?)

I also don’t see any FPS drops for whatever reason

I’ve tested without the Dune Buggy in the view and the issue is still present

1 Like

That actually strikes me as odd as I have verified that the additional functionality is currently not turned on for production.

That said is there a way for me to reproduce the buggy scene? (I didn’t see this behavior on the start scene in front of the dealership)

I’ve reached out to the developer who works on the feature. He should update on this thread.

I’ll check later this week to see where this is at.

2 Likes

Hi, it’s in a private testing place. I see it in the start scene too:


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.

2 Likes

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 ?
image

2 Likes

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?

This issue makes games hard to play and it could possibly damage revenue because of lag issues it can create.

Game isn’t mine, but you can see how it can hurt developers.
It used to work normally.

For context:

  1. Bullet hit effects / casings are disabled.
  2. Casings are enabled. BAD PERFORMANCE
  3. Hit effects (black bricks) are enabled. BAD PERFORMANCE

It’s also worth noting that swapping weapons will also affect the framerate.

2 Likes

Can you link the game you are using here? That would make it easier for us to test.

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.

3 Likes

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.

This issue almost makes the game unplayable.

Link : Prior Extinction [PUBLIC TESTING] - Roblox

2 Likes

Triangle count is being misreported in the Shift+F2 menu. As you can see, when I remove a part that is 12 triangles, it reduces by 24 triangles.

Edit: Draw calls increased by 5x - #20 by TigerRabbit2

I’m dealing with this issue as well. I think it may have something to do with the terrain geometry generation. I have a bad lag spike for the first 10 seconds after joining, and then as I load in the map I average 45 FPS. I don’t have any way to test this in smaller maps because my PC is too powerful. Draw calls before update was ~ 700 and triangle count always under 600k, map is mid-sized at ~ 35^2 Miles.

Dealt with it in this flat area too, it is a salt flat and the terrain is really simple. There is a small amount of parts here for the drag race.

Does anyone else have this issue?

Alright.

https://www.roblox.com/games/5596726628/The-Undead-Coming-BETA

Options menu can easily be accessed in lobby. You will have to test weapons during a round though.

Hello,

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.

3 Likes