[mythtv-commits] Ticket #7525: Optimize Pulse handling in MythUI
MythTV
mythtv at cvs.mythtv.org
Mon Jan 25 04:34:57 UTC 2010
#7525: Optimize Pulse handling in MythUI
---------------------------------------------+------------------------------
Reporter: danielk | Owner: danielk
Type: task | Status: new
Priority: minor | Milestone: unknown
Component: MythTV - User Interface Library | Version: head
Severity: medium | Mlocked: 0
---------------------------------------------+------------------------------
Comment(by Jim Stichnoth <stichnot@…>):
I implemented the third item -- only traverse children that need to pulse.
There are actually three independent pulse attributes: movement, alpha,
and custom. Each attribute is tracked as a boolean indicating whether a
pulse check is needed for the next "frame". Any time the pulse state
changes (e.g. start/stop movement/animation) or a child is added/deleted,
the state change is propagated up the tree. The top-level
MythUIType::Pulse() method always clears the custom pulse attribute, so
any overridden Pulse() method needs to explicitly set the custom pulse
attribute appropriately *after* calling MythUIType::Pulse().
I'm attaching the patch, but keep in mind that after applying the patch in
#7953, idle frontend CPU utilization on a lowly ION frontend is down to
about 1%, maybe as high as 2%, so there's not a whole lot of performance
left to be gained.
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/7525#comment:1>
MythTV <http://www.mythtv.org/>
MythTV
More information about the mythtv-commits
mailing list