Open main menu

Bluddy

Joined 24 February 2010
395 bytes added ,  06:55, 27 May 2010
m
Line 51: Line 51:
***** Our thread is still more efficient than SDL. Also, we can control the priority. We can also make the thread consume and another low priority thread the PCM producer for possibly higher efficiency.
***** Our thread is still more efficient than SDL. Also, we can control the priority. We can also make the thread consume and another low priority thread the PCM producer for possibly higher efficiency.
***** Check if the timer (which is under heavy use in CoMI) also causes the clicking issue in that game because of long sound rendering. Maybe we can play with priorities, or maybe we need to put context switches in the timer/music/main code.
***** Check if the timer (which is under heavy use in CoMI) also causes the clicking issue in that game because of long sound rendering. Maybe we can play with priorities, or maybe we need to put context switches in the timer/music/main code.
****** Yes. Audio thread must be more prioritized than timer thread or we get clicking. Can probably go back to previous way of doing audio (no blocking) if we want to fill more buffers before playing.
**** Also, SDL creates threads that ALL have VFPU bit set. That's not efficient when switching contexts.
**** Also, SDL creates threads that ALL have VFPU bit set. That's not efficient when switching contexts.
**** Additionally, change priority so that MP3/MIDI rendering is in same priority and is fairer while getting called back is higher priority.
**** Additionally, change priority so that MP3/MIDI rendering is in same priority and is fairer while getting called back is higher priority. This could make issues in 222Mhz like freezing when playing several sounds in IHNM better. If not, may need to add a taskSwitch in main scummvm mixer code (too much work before context switch)
**** Maybe add a task switch in the Mixer to allow main thread to do stuff if there's a lot of mixing (and it's all from memory).
**** Maybe add a task switch in the Mixer to allow main thread to do stuff if there's a lot of mixing (and it's all from memory).
*** Replace SDL Timer. Done
*** Replace SDL Timer. Done
36

edits