Open main menu

Bluddy

Joined 24 February 2010
387 bytes added ,  11:58, 28 May 2010
m
Line 32: Line 32:
** Tests
** Tests
*** cached vs uncached access in memory
*** cached vs uncached access in memory
*** how long does changing thread priority take?
*** how long does changing thread priority take? 9-10us. Negiligible.
*** how long does retrieving thread priority take?
*** how long does retrieving thread priority take? 5-7us.
*** how long do different length MS reads take? done. 1B = 1KB = 2.5ms. 2KB = 3.5ms. 10Kb = 10ms. The more, the more efficient.
*** how long do different length MS reads take? done. 1B = 1KB = 2.5ms. 2KB = 3.5ms. 10Kb = 10ms. The more, the more efficient.
**** Wrong. Fread already caches reads. I was testing it wrong (reopening files). 1b = 5us. 1KB = 1ms. 2KB = 2ms. There's a weird gap between 6-9KB where the time stays the same. Not sure. In general, no advantage to reading more.
*** how much reading is done by MP3 rendering/movie playback? How much will we need to cache? done. Reads chunks of 15-25KB preceded by small 4KB reads. Whole MP3 loads are a problem (200KB+).
*** how much reading is done by MP3 rendering/movie playback? How much will we need to cache? done. Reads chunks of 15-25KB preceded by small 4KB reads. Whole MP3 loads are a problem (200KB+).
*** Check fseek's time.
*** Check fseek's time. About 1ms normally. To the end of the file is much more - 3 to 7ms.
*** how many ticks per second? Can we do it more efficiently than SDL? done. 1,000,000. Yes and we did. Getting time struct is wasteful. Went down from 9-14us to 1-2us.
*** how many ticks per second? Can we do it more efficiently than SDL? done. 1,000,000. Yes and we did. Getting time struct is wasteful. Went down from 9-14us to 1-2us.
** Improve memcpy: alignment, rotation
** Improve memcpy: alignment, rotation
*** Possibly use VFPU's cache for even better performance.
*** Possibly use VFPU's cache for even better performance.
** Caching of stream
** Caching of stream
*** Implement cache that reads while other threads don't (mutex) and fills up memory with file data. First stage will be like PS2: just read ahead. Done.
*** Implement cache that reads while other threads don't (mutex) and fills up memory with file data. First stage will be like PS2: just read ahead. Done.
*** Play with cache sizes to find the best default one.
**** Actually with the new tests this is useless. It will be useful though to have other-thread read ahead cache.
*** Double the cache size for heavy streaming, see if it helps. It might cause
*** Play with cache sizes to find the best default one. Nope. Get rid of basic cache.
***
** No More SDL!
** No More SDL!
*** Improve SDL audio output. done.
*** Improve SDL audio output. done.
36

edits