Difference between revisions of "User:Bluddy"

From ScummVM :: Wiki
Jump to navigation Jump to search
Line 16: Line 16:


== Working On ==
== Working On ==
* PSP
* PSP Optimization
** Optimization
 
*** Adding PSP profiling support to the trunk - done
** Timidity
*** Moving all buffers to uncached space
*** A lot of work. May improve speed over midi, but it'll be the last optimization.
**** Doesn't seem like a great idea. Some parts of the code need the buffers to be cached, particularly if they access small pieces. Audio buffers absolutely MUST be cached for decent speed.
 
**** Memcopy can be greatly improved with alignment, rotation of unaligned bits, and using the VFPU cache.
** MP3 using Media Engine
*** Possibly adding PSP MP3 HW support
*** 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.
**** About 8% speedup in some games
 
**** Looks like HW MP3 can only handle 2 MP3s at a time... should be enough usually.
** Video Speedup
**** Actually it should be able to do better with the libAudio implementation.
*** Smush can be sped up for aligned platforms, and VFPU cache can be used in PSP
**** I just found that the SDL 'mixer' blocks when playing audio! That's the thread we do all the work in!
*** Check other codecs for possible speedups using VFPU
***** Also, SDL creates threads that ALL have VFPU set. That's not efficient when switching contexts.
 
*** Speeding up video decompression using vector unit
** Other speedups
**** Doesn't seem likely for smush - not much parallel processing
*** Do tests of cached vs uncached access
*** Possibly speeding up music processing somehow?
*** Improve memcpy: alignment, rotation
**** Timidity may be a good option here
**** Possibly use VFPU's cache for even better performance.
*** Improve SDL audio output
**** SDL blocks when outputting audio. This is the thread we do most work in, so don't block.
**** Also, SDL creates threads that ALL have VFPU bit set. That's not efficient when switching contexts.


== To Do ==
== To Do ==

Revision as of 05:08, 16 May 2010

Bluddy
Name Yotam Barnoy
Team Member since 2009-09-22
Working on PSP platform
Refactoring and Cleanup
Personal webpage/BLOG -
Email -

Worked On

  • PSP
    • Suspend/resume support
    • Plugin support (ELF loader)
    • Console-oriented virtual keyboard
    • D-pad directional support
    • Eliminating the evil undead flickering bug (it was a tough one)
    • Refactoring, redesign and cleanup

Working On

  • PSP Optimization
    • Timidity
      • A lot of work. May improve speed over midi, but it'll be the last optimization.
    • MP3 using Media Engine
      • 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.
    • Video Speedup
      • Smush can be sped up for aligned platforms, and VFPU cache can be used in PSP
      • Check other codecs for possible speedups using VFPU
    • Other speedups
      • Do tests of cached vs uncached access
      • Improve memcpy: alignment, rotation
        • Possibly use VFPU's cache for even better performance.
      • Improve SDL audio output
        • SDL blocks when outputting audio. This is the thread we do most work in, so don't block.
        • Also, SDL creates threads that ALL have VFPU bit set. That's not efficient when switching contexts.

To Do

  • PSP
    • MP3 playback with Media Engine
    • Optimize speed in general
    • Optimize video playback speed
    • Use libTimidity for music
  • Generic virtual keyboard: take my keyboard and make it available to all. Involves switching from bitmaps to vectors.
  • Generic ELF loader