Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.12.10, 5.14.1
-
None
Description
When converting old QOpenGLWindow based application to QSG one, i noticed that unexpected increase of renderer busy reported by intel_gpu_top, thus i created minimum example (attached) which draw a random graph and encapsulated all gl* functions in renderer class, the renderer class would be called in QSGRenderNode::render() in QSG based app and QOpenGLWindow:: paintGL in QOpenGLWindow app,
Because both apps running at 60fps, same QSurfaceFormat and same rendering class, i would expected same gpu performance, but surprisingly QSG one has 25% more render busy, i didn't find any statement in documentations about this (all the performance docs are saying QSG improves gl draws by batching and that's right but doesn't say something about non batched overhead or ...).
QSG app has same QSurfaceFormat as QOpenGLOne and there isn't any other component in qml (Window and CustomItem), also the renderer class is same for both apps, so i wounder QSG should not draw anything other than window background and custom item itself and 20% performance overhead is indication of something wrong.
PS: Cpu usage of both apps is ~0%, both compiled and profiled in release mode