Dingux (Dingoo Linux) > Releases
Snes9x (OpenDingux)
Coccijoe:
Thanks, good work :)
pcercuei:
--- Quote from: abhoriel on January 26, 2012, 12:34:33 PM ---I used drowsnug95's source. it just needed to be modified to use libao instead of OSS, which also required activating threading for the sound (as ao_play() is blocking, right? i've not used libao before) , but all very trivial. I will release the source later, and i'll try using profile guided optimisation (as mentioned in ValdikSS's inspiring picodrive release) when I get home.
--- End quote ---
ao_play() is blocking yes, but so is write() (when you output samples with OSS) so you shouldn't have to activate the threading of the sound.
abhoriel:
I know that write() is blocking, but the original source used this (rather dodgy) OSS code to avoid blocking
--- Code: ---
audio_buf_info info;
if (!Settings.ThreadSound &&
(ioctl (so.sound_fd, SNDCTL_DSP_GETOSPACE, &info) == -1 ||
info.bytes < so.buffer_size))
{
//printf("%d ,%d *****\n",info.bytes,so.buffer_size);
return (NULL);
}
--- End code ---
edit: libao has no equivalent, and cannot use a callback
abhoriel:
Just a quick update, a binary which doesn't crash on exit, and with more optimisation flags (from ValdikSS's post). Also, the source I promised.
binary (with icon)
http://www.mediafire.com/?9pvisvcrqofh99x
source (from drowsnug95's)
http://www.mediafire.com/?vmr4xbnz6pmmayp
For some reason, a lot of games performed less well when I used PGO, even games that I executed whilst profiling. No idea why. Performance has improved from the use of extra optimisation flags however
The performance gain surprises me, I always thought that you get diminishing returns rapidly after -O2. Especially because the larger code will cause more cache hits, which should be a big performance problem on the dingoo.
Navigation
[0] Message Index
[*] Previous page
Go to full version