On 10/26/2012 05:52 AM, D. Michael McIntyre wrote:

>> Regardless, it would probably be a good idea
>> to redesign the Segment notification stuff so that the GUI can force
>> notifications for every user edit, and the MIDI recording feature can
>> just send notifications periodically, like ten times a second or so.  I
>> don't think this is going to be easy, however.

Just jumped back out of bed to run in here and jot down a random, 
probably stupid thought.

Instead of untangling the skein the right way, I wonder if a less 
complex hack could work.

Start with any custom widgets built on QWidget, change them to inherit 
RosegardenWidget instead, and RosegardenWidget is just QWidget with an 
update() method that is aware of the transport rolling status, and just 
returns 90% of the time by incrementing an internal counter or 
something.  update() still gets called massively too often, but chooses 
to do nothing most of the time when the transport is rolling.

Something like that would be fairly quick to try and see if there is any 
measurable positive impact on anything.  There might not be, because 
asking the transport its status 488 times a second might be just as 
expensive as what we're trying to avoid doing, or even more so.  If it 
did have some benefit, we could eventually write a zillion custom 
widgets just to override update() on all of them.  Several such already 
exist just to override style stuff, and we could tack the update() stuff 
on those for round two of testing.

Assuming you can even override update() in the first place.  Probably 
can, but I'm half asleep, and definitely not even thinking about grazing 
the API docs.

Like I said, probably a stupid thought.  Off to bed then to let the real 
programmers point out why this is sheer idiocy.  I don't mind.
-- 
D. Michael McIntyre

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to