[mythtv] Time-based animation controller in mythui

Isaac Richards ijr at case.edu
Fri Mar 10 16:53:19 UTC 2006


On Friday 10 March 2006 11:15, Bryan Mayland wrote:
> After reading the thread "New fade effect in front end not working well"
> and looking through the mythui code, I've spent some time thinking about
> how to improve the moves and fades done in the mythui.
<snip>
> A global animation controller (owned by mythmainwindow I'm guessing)
> will be provided to the UI elements during the Pulse event, which can
> then be passed to the element's individual AttributeAnimator controls.
> These will be used in place of the individual Pulse* events currently
> used.  This global controller would only hold timing information and be
> able to provide a "current" value, based on the parameters set in the
> AttributeAnimator objects.
>
> Using this system, the fades moves and resizes would animate the same
> speed on everyone's machine independent of the interval between Pulse()
> calls.  I have a fairly solid game development / opengl background and
> can code this. Comments?

The main issue that people are having is that their opengl implementations are 
either completely non-existant (and so falling back to mesa) or _very_ slow.  
Nothing it's doing should tax a video card very much if some accel is enabled 
(it's basically just blending textures together).

Yeah, what you're proposing would help for instances where there's brief 
periods of change on screen like the between-screen transitions, but it won't 
really help at all if there's something on screen that's changing all the 
time (see the mythuitest program for an example) or if the user starts 
mashing buttons.  It'll be better to disable the effects and fall back to the 
Qt painter.  That'll use less cpu than the opengl painter for people using 
software rendering, since the Qt painter will only redraw those areas of the 
screen that it specifically needs to.

Isaac


More information about the mythtv-dev mailing list