Performance of OpenGL ES 2 in Qt for X11
-
Hi! I compiled Qt for X11 with OpenGL ES 2 support. I then tried to run the hellogl_es2 examples application to test OpenGL ES 2 performance. On the framebuffer it seemed quite OK, but here in X11 it's bad.
hellogl_es2 reports a frame rate of 30 frames per second when the application is in fullscreen, which seems quite OK to me, but CPU occupation on the behalf of the application is over 60% and 20% for Xorg, and the rendering performance is really bad. The animation is slow and not smooth at all indeed.
What may be the cause of this? My OpenGL implementation and EGL implementation seems OK on the framebuffer (Qt for Embedded Linux). Maybe the problem is that I'm lacking DRI (I built this Linux myself).
Thanks for any suggestion. -
Unfortunately I don't think it was possible to solve. I suppose some drivers where needed to avoid the overhead of X and directly accessing the hardware. The only possible way I could find was to implement a custom QScreen driver for Qt for Embedded Linux using a custom EGL implementation on the framebuffer and avoid X server completely. That way performance was good.
-
Again, read the documentation, everything is explained there. Yes, you'll have to subclass some classes. When running an application you'll need to specify the Qt screen driver to use. The EGL library is commonly used to setup the context for OpenGL. Unfortunately there is no standard defined for surface management, so it depends on your EGL implementation. Look for the powervr or the simplegl drivers.