[Interest] OpenGL cpu benchmark QtQuick vs OSX Native
Bruno Di Giorgi
bruno at brunodigiorgi.it
Fri Sep 4 09:06:58 CEST 2015
Dear mailing list,
First time I write here, I posted this yesterday on the QtQuick forum and a user recommended me to post on this mailing list.
I noticed some heavy cpu usage in a QtQuick (using Qt5.5) osx app compared to an equivalent Native OSX app. Around 5% more cpu usage with a simple app, up to 15% more with more complex OpenGL tasks.
Both are using Core profile
Version: 4.1 INTEL-10.6.33
GLSL: 4.10
In QtQuick I do openGL inside a QQuickFramebufferObject as I've seen advised many times.
In OSX I draw inside a subclass of NSOpenGLView.
Here are the OpenGL Profiler statistics: http://pastebin.com/uWyy8RMk <http://pastebin.com/uWyy8RMk>
Where you can see that CGLFlushDrawable takes so much longer in QtQuick (avg 15418.39 microsec) than in Native OSX App (avg 1287.65 microsec).
I know that what CGLFlushDrawable really does is to set the internal OpenGL state and then do the drawing, so I wonder if I am misusing QtQuick OpenGL somehow. Here is how I set up OpenGL in QtQuick app:
QSurfaceFormat f;
f.setVersion(4, 1);
f.setProfile(QSurfaceFormat::CoreProfile);
QSurfaceFormat::setDefaultFormat(f);
Then, when setting the framebuffer (inside QQuickFramebufferObject::Renderer method createFramebufferObject):
QOpenGLFramebufferObjectFormat format;
format.setAttachment(QOpenGLFramebufferObject::Depth);
format.setInternalTextureFormat(GL_RGB);
format.setSamples(0);
I really hope there is a solution that makes me achieve similar performance because I really enjoy QML and I'd like to continue using it.
Hardware used:
MacBookPro 13'' with retina screen,
cpu: 3 GHz Intel Core i7
gpu: Intel Iris 1536 MB
Best,
Bruno Di Giorgi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20150904/aa786deb/attachment.html>
More information about the Interest
mailing list