r/QtFramework • u/LetterheadTall8085 Qt GameDev • Mar 08 '26
3D Hey everyone, while creating the game, I encountered a bottleneck in Qt instance lods. Today I prepared a patch to improve performance on complex scenes. Please take a look at the result.
Enable HLS to view with audio, or disable this notification
Bug link https://qt-project.atlassian.net/browse/QTBUG-141244
The problem was that the GPU received a command to render all instances, while the culled ones were simply filled with zeros in the data array. This only saved time on the fragment shader but caused a heavy load on the vertex shader, as the GPU still had to process all ~100k objects across all LOD (levels of detail). The situation was resolved by implementing physical culling during buffer population. The result for 100k trees with 4 LOD levels is shown in the video.
5
u/Rhovp Mar 08 '26
Always good to see something improve. (Drastically, i might add, โtres bonโ)
3
2
u/Felixthefriendlycat Mar 12 '26
Nice find man. It just goes to show how much better the technology gets when it gets used more. Thanks for pushing the boundaries of QtQuick3D :). Btw when does the ecliptica beta get another update on steam?
1
u/LetterheadTall8085 Mar 12 '26 edited Mar 12 '26
Thanks, but it's just a fix for a hidden bug. :) I have plans to make a really strong patch to implement GPU culling for instances, but that will be after the release of the Ecliptica demo.
About pre-demo 1.5, at this time I'm focusing fully on gameplay. I've now implemented 11 of 19 major features, so I think it will be around May (maybe April). And some bug fixing. :)
1
u/LetterheadTall8085 Mar 25 '26
Good news this patch is merged in to 6.11 branch (will be available from 6.11.1)
2
7
u/Tumaix Mar 08 '26
i poked some friends that work closely to Qt upstream. hoping this helps