[mythtv] Android OpenGL Performance

Mark Kendall mark.kendall at gmail.com
Wed Jan 2 01:04:03 UTC 2019


As mentioned on IRC, I've gone through the OpenGL changes. I spotted a
couple of potential issues for the YV12 code and performance in
general and have pushed some updates. Can you see if they help?

For the android build, you might also want to have a look at a couple
of lines in MythRenderOpenGL that may need fixing:

Firstly, in MythRenderOpenGL::setWidget there is a call to winId. The
QOpenGLWidget documentation specifically recommends against calling
this as it reduces performance - but we only use a QWidget. Not sure
why we don't use a QOpenGLWidget (I'm guessing one of the 101
workarounds for windowing issues) or whether the winId call hurts
performance. That said the android build then sets the window surface
type to OpenGL. I'd recommend just creating MythRenderOpenGLAndroid
(subclass of MythRenderOpenGLES) and remove all of the hacks and
workarounds (just use a QOpenGLWidget).

Secondly - MythRenderOpenGL::doneCurrent no longer actually calls
doneCurrent. I expect this will cause problems on some platforms.


More information about the mythtv-dev mailing list