CPU load issue at low polygon values

Hello, developers! I’d like to share my experience working with the Roblox engine. I decided to test scene polygon loading and how it affects frame rate. I create games using Vinegar (a regular studio, but running on Linux). I created two cubes in Blender: one with 10,000 triangles and the other with just 12. In Vinegar, I set them to the same values, selected Neon as the material (since it only needs to render the color, and that’s it, it’s easy to profile thanks to its stability), adjusted the size and color, and, most importantly, kept the camera position constant. The screenshot shows the difference in FPS; they drop because CPU load increases several times with a low polygon count, and vice versa. Only with 12 triangles does the FPS increase, but drops. BUT, most importantly, this is only in Vinegar. If I access Roblox as usual through Sober (Roblox runs on Linux, but on the mobile version), the load difference is as expected. It increases at 10,000 triangles, but not significantly compared to cubes, which have 12 triangles, which is fine, but not for 12 triangles, which puts a HUGE strain on the CPU. I’d appreciate any answers, and if anyone needs clarification, please let me know.

1 Like

Could you please check studio if the same happens:

?

Depending on the the results you might want either contact VinegarHQ :yellow_heart::black_heart: or report studio bug here.

Thank you!

1 Like

Perhaps I phrased the question incorrectly, but a friend of mine (on Windows) who I played this game with and tested the cubes also noticed a frame rate drop when using 100 cubes with 12 triangles compared to using 100 cubes with 10,000 triangles. I’d like to know why the CPU load increases several times with a lower polygon count and why the FPS drops. The issue isn’t with the rendering method itself, such as Direct3D11, OpenGL, or Vulkan, or that I’m using the mobile version of Sober; the problem lies elsewhere.

My tests IN studio(Vinegar)

100x 12Tr
Vulkan 1.4 - 190/s | CPU 4.9 ms | GPU 2.0 ms
OpenGL - 117/s | CPU 8.3 ms | GPU 2.7 ms (FPS is choppy here)
D3D11.1 - 195/s | CPU 4.9 ms | GPU 2.1 ms

100x 10000Tr
Vulkan 1.4 - 240+/s | CPU 1.7 ms | GPU 3.6 ms
OpenGL - 225/s | CPU 4.2 ms | GPU 4.2 ms (FPS is choppy here)
D3D11.1 - 240+/s | CPU 1.4 ms | GPU 3.6 ms

To clarify, these 100 cubes are located at the same coordinate point. They are linked, and it’s not the physics that is loading them. I selected one cube and pressed F to zoom in, then pressed “Top” in the “View” → “Show View Selector”. These are the only 100 cubes in the world, in both versions.

basecube.fbx (11.5 KB) 12 Tr
10k.fbx (169.8 KB) 10k Tr

Here are my PC components:
4060 8GB, R5 5600, 2x16GB 3600MHz Rank 1, B550M Pro4.
I don’t think this is a driver or kernel issue. My friend has an RX 590 GPU and an i5-9400F CPU. He has the same problem, even though he uses Windows. Again, this isn’t an OS or hardware issue.

I also changed the graphics quality, but it didn’t do anything.

1 Like

I found out the reason: many objects are located in the same coordinates, and not scattered in space lol