Hello, I have been working on moving all mesh data to one big vertex buffer for my voxel engine/games and have run into a bit of an issue.
I was just hoping to get some insight to what maybe I could do, where I should report this issue if need be, and if anyone has dealt with this before how did they get around it. And lastly this question will serve as some documentation of the issue as I can find very little online.
I made a small playground demonstrating the issue:
All this playground does is have a rotating camera, a few meshes, and one big buffer that gets updated every frame using gl.bufferSubData.
Now on my main machine with the default Chrome settings I get 44 fps:
And just for clarity I have a windows 10 machine, with an AMD processor, and a RTX2060. I have heard some things that RTX has issues and that a lot of people switch to openGL on Chrome for YouTube videos but none of that has ever been an issue for me.
So I really I am not sure what to do or it is just purely my specific hardware setup which would be lame but at least not the end of the world.
I have spent a lot of time trying hardcore optimizations and this seemed like the final one. It is using a buddy memory allocator system for memory management and when playing with openGL it feels as fast or faster then Minecraft and that is my ultimate goal. Plus for webGPU and ray tracing need a smillar system…
The actual code for the engine is a lot different then the demo:
It was just meant to isolate the issue.
My friend tested it on his machine with Chrome and Firefox and Firefox runs at like 100+ fps alone. 91 fps here when running both at the same time and he has an AMD graphics card. So I know it is a hardware/driver issue.
But most of what I found of was Metal being slow not DirectX.
The performance implications go beyond the big vertex scene as the system before was a still a bit lagy when allocating a large number of smaller buffers.
So for games for Steam this should not be that big of an issue because you can set flags. But for online games and experiences this is defiantly a bottleneck.
Thank you for your reply just trying to keep focused on what is really causing the issue.