[mythtv] Android OpenGL Performance

Peter Bennett pb.mythtv at gmail.com
Wed Jan 2 20:32:35 UTC 2019



On 1/1/19 8:04 PM, Mark Kendall wrote:
> Peter/David
>
> 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.
>
> regards
> Mark
>

With latest master

Fire stick 4K 1080i content Linear Blend (2x) YV12 unchecked, extra 
stage checked
Drops 22 frames per second (i.e. only manages 8 frames per second?)
With the Nov 20th version and UVYV checked these settings play with No 
dropped frames.

Fire stick 4K 1080i content Linear Blend YV12 unchecked, extra stage checked
Drops 24 frames per second (i.e. only manages to display 6 frames per 
second)
With the Nov 20th version and UYVY checked these settings play with No 
dropped frames.

Fire stick 4K 1080i content Linear Blend (2x) YV12 CHECKED, extra stage 
checked
Drops 6 frames per second (i.e. only manages 24 frames per second)
With the Nov 20th version drops 6 frames per second, the same.

With the latest version if I don't check "extra stage" the playback is 
now consistently blank with all settings. With the November version if I 
don't check "extra stage" the video is intermittently blank when using YV12.

To summarize, with the November version I get perfect playback with 
UYVY, but with latest master it is terrible. With both November and 
latest versions I get mediocre results using YV12.

Peter


More information about the mythtv-dev mailing list