I've been hacking Hijack today, trying to remember How Things Work.

In the course of doing so, the Calculator function has now been nixed, the Flash Savearea Display has been fixed (wasn't highlighting all changes before), and the display "jitter" sometimes seen on the Hijack menus has been removed completely.

Version v359 is the one I want everyone to try and use. It should work perfectly for all.

But I will shortly be following up with v360, which changes how the display is refreshed slightly. I would like to hear if anyone out there can tell the difference between v359 and v360, paying particular attention to Visuals syncing with whatever is playing.

You see, today I instrumented things, and discovered that the player software is issuing needless "refresh" requests to the display driver. Needless, in the sense that the audio driver is already driving the display updates in sync (mostly) with whatever audio is playing (or not). So this logic meant that the display was being refreshed twice as many times per second as necessary, mostly just a waste of processing power as near as I could tell.

This is all very important to me, because the entire Hijack UI is simply a hook into the display refresh logic. So cutting refreshes by half cuts Hijack overhead by half. And makes things much more predictable inside Hijack, as it should now be atomic. Before v359, it was not atomic, thus the weird display jitter on some menu displays!

As of v359, the display updates, and Hijack UI, are ALWAYS only ever invoked from tq_immediate, a kind of "soft IRQ" mechanism in tne 2.2 Linux kernel. Previously, this code was ALSO being invoked simultaneously from a userspace ioctl() call into the kernel. In v359, this second invocation now just acts as another trigger for the first method.

As of v360, the second invocation doesn't even bother with the trigger -- but I'm curious if anyone can note any change in Visuals timing as a result. I cannot -- with all recent Hijack's the visuals all look delayed by about 1/10 of a second or so.

Cheers




Edited by mlord (25/01/2004 14:45)