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
