http://forum.xbmc.org/showthread.php?tid=67420
Usability for standard playback cases could be improved in a number of ways:
- Long wait on seek operations [about 30 seconds] Any kind of seek operation takes a constant, long amount of time - typically even longer than setting up playback in the first place (see below). There is one - for me - very common use case which could be vastly improved by proper use of caching: I like to skip back a couple of seconds (2-7 seconds) after having paused, to get my brain to pick up the movie again (and also since I most likely "dropped" some dialogue between the interruption that caused me to pause and the moment I actually pressed pause). Currently, this hurts a lot - it takes MakeMKV about 30 seconds to find the new position. A simple heuristic to improve this one use case would be: Given a large enough memory buffer, try to keep about 15 seconds of already-elapsed playback (or a configurable percentage of the buffer or whatever) in this buffer, so that seeking to a position close to the current playback position could be satisfied from the buffer and the linear read filling the buffer would not need to react at all.
- Long initializiation time [about 45 seconds for a typical disc, significantly longer for BD+] This corresponds to 'makemkvcon info'; it should be possible to cache the recognized titles per disc, so that the long wait would occur only once.
- Long playback startup time [about 20 seconds for a typical disc] The drive is seeking around a lot before the stream is ready for playback. Again, perhaps more data could be cached, or the disc access pattern could be improved - other players appear to collect the required data for playback start in more or less one sweep over the disc. Perhaps even the operating system cache could be used instead of direct I/O?
The buffering issue could probably be worked around by buffering in the player or via a "buffering UPnP streaming proxy" component, but it's probably easier to extend the existing buffering code in makemkv to achieve the same result.