Open main menu

Bluddy

Joined 24 February 2010
40 bytes removed ,  12:00, 6 June 2010
m
Line 22: Line 22:
** Timidity
** Timidity
*** A lot of work. May improve speed over midi, but it'll be the last optimization.
*** A lot of work. May improve speed over midi, but it'll be the last optimization.
** MP3 using Media Engine
** MP3 using Media Engine - partly done.
*** I made a hack that'll do it, but unfortunately nobody knows how to use it for 22kHz mp3s, which is all of our MP3s. This means I need to reverse engineer the PSP FW in order to figure out how to do this properly (the PSP FW knows how to use the ME for 22 kHz files). So this is going to be hard too.
*** I made a hack that'll do it, but unfortunately nobody knows how to use it for 22kHz mp3s, which is all of our MP3s. This means I need to reverse engineer the PSP FW in order to figure out how to do this properly (the PSP FW knows how to use the ME for 22 kHz files). So this is going to be hard too.
*** Check if cooleyes' sirens2 program can play 22kHz files properly. If it can, we're doing something wrong.
*** Check if cooleyes' sirens2 program can play 22kHz files properly. If it can, we're doing something wrong.
**** Can't compile the darn thing!
**** Can't compile the darn thing!
*** Another program is supposed to be able to handle it. Check it out. (ps2forum post)
*** Another program is supposed to be able to handle it. Check it out. (ps2forum post)
**** Update: yes! It works.
** Video Speedup
** Video Speedup
*** Smush can be sped up for aligned platforms, and VFPU cache can be used in PSP
*** Smush can be sped up for aligned platforms, and VFPU cache can be used just for PSP
*** Check other codecs for possible speedups using VFPU/alignment
*** Check other codecs for possible speedups using VFPU/alignment
** Tests
** Tests
Line 35: Line 36:
*** how long does retrieving thread priority take? 5-7us.
*** 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.
**** 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. About 1ms normally. To the end of the file is much more - 3 to 7ms.
*** Check fseek's time. About 1ms normally. To the end of the file is much more - 3 to 7ms.
Line 43: Line 44:
** 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.  
**** Actually with the new tests this is useless. It will be useful though to have other-thread read ahead cache.
**** Actually with the new tests this is useless. It will be useful though for other-thread read ahead cache.  
*** 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