smush_player performance patch
|Reported by:||SF/ole00||Owned by:|
I have an update for the scumm smush_player and chunk class. The old smush player was fairly excelent on fast computers wheere seek / and transfer times are very short. On the other hand if smush player was not fed properly right from the start (mostly happens on platforms where there is no read-ahead file caching, and on platforms where data transfer rate is slow - flash disks etc.) then the playback performace suffer. Another glitch concerned the time-compression on the start of the movie (first 2 or 3 seconds of the movie were missing - or played back at once with stacked voice streams) is also solved.
This fix/update adds read-ahead caching to the chunk class (I have created CachedFileChunk from the FileChunk) and slightly modifies the smush_player.
I'm sorry that the source is attached here, but I have no other easier way how to contribute.
Hope it will be usefull - if not, never mind :).
BTW. Why the chunk classes are passed as 'instance copy' (Chunk &b) in the smush/saud methods and not as the pointers (Chunk *b)? Maybe I'm wrong but this way the system creates instance copies of the chunks each time it is passed to another method which might be imho quite memory/time consuming...
The source code is attached bellow....
Ticket imported from: #1115053. Ticket imported from: patches/501.