SMUSH: Too dependent on accurate timers
|Reported by:||eriktorbjorn||Owned by:||eriktorbjorn|
The SMUSH player currently uses a timer to trigger the decoding of each frame. This makes it very dependent on accurate timers, not in the sense that each timer call has to be accurate but in that the timer must not be allowed to drift out of sync over time.
The problem is that in The Curse of Monkey Island, the opening cutscene is supposed to run at 12 fps. That means that the timer interval should be approximately 83.33 milliseconds. This was the reason timer accuracy was changed from milliseconds to microseconds in the first place.
In retrospect, perhaps this wasn't such a great idea. The current default timer handler appears to run on millisecond accuracy - it starts by dividing the timer interval by 1000...
It should be fairly simple to remove the dependency on timers from the SMUSH player, though the ability to pause does add some complications compared to the cutscene players in Broken Sword.
Ticket imported from: #1584888. Ticket imported from: bugs/2883.