[OS X] Adjusting monitor refresh rate setting for best performance

Hello!

I have recently started using RetroArch on my MacBook. It seems to run fine, except for an issue with audio regressions, which are apparently caused by audiovisual sync not being set up, and the compositor. Since OS X doesn’t have an option to disable the compositor, how can I stop the crackling audio with the compositor still running?

I have tried using the values given from higan’s video refresh rate auto detection, which usually gives a value of around 58.5. However, for some reason, when I try this refresh rate in RetroArch, the game seems to run at PAL/50hz speed, and the crackling still remains. In higan, using this settings results in the game running at the reduced speed, but with no audio crackling. I can also set it to 59 in higan and have pretty much no audio crackling and have the game run at the correct speed.

While I could install Windows 7 or Linux on my MacBook, I’d prefer not to have to have a multi-boot configuration on my MacBook, as I don’t want to have to reboot every time I want to use the emulator.

I am using RetroArch 0.9.8, as downloaded from http://forum.themaister.net/viewtopic.php?id=104

In case they have any relevance, my system specifications are as follows:

MacBook Pro - Mid 2012 Processor: 2.6 GHz Intel Core i7 Memory: 8 GB 1600 MHz DDR3 Graphics: NVIDIA GeForce GT 650M 1024 MB OS: OS X 10.8.3

Don’t use 0.9.8. It is very old by now, build from Git, or use 0.9.9-wip1. You set video_refresh_rate (in config or Phoenix)? EDIT: I guess hunterk should upload an updated build.

If you let RetroArch run for some time (at least 4096 frames), some performance metrics on dynamic rate control and estimated refresh rate will appear in log (–verbose if run in Terminal, or File -> Show Log in Phoenix). I think your problem is a bit different though than just a configuration issue.

E.g.


RetroArch: Average audio buffer saturation: 57.93 %, standard deviation (percentage points): 15.53 %.
RetroArch: Amount of time spent close to underrun: 0.39 %. Close to blocking: 13.66 %.

RetroArch: Average monitor Hz: 59.869485 Hz. (6.199 % frame time deviation, based on 2048 last samples).

If VSync behavior is erratic on your macbook (unlikely), you’ll have a hard time getting it to work well anyways. What you want to see is Average saturation being approx 50%, time close to underrun/blocking should be as low as possible.

Anyways, I don’t have access to any Mac whatsoever, so dunno.

Thanks. I will get the 0.9.9 retroarch at my earliest convenience.

With video_refresh_rate set to 59, I get this in the log:

RetroArch: Average audio buffer saturation: 90.87 %, standard deviation (percentage points): 5.30 %.
RetroArch: Amount of time spent close to underrun: 0.00 %. Close to blocking: 99.91 %.
RetroArch: Average monitor Hz: 59.266283 Hz. Standard deviation: 0.132699 Hz (0.224 % deviation, based on 38 last samples).
RetroArch: Configured monitor FPS 59.000000 Hz deviates -2.007 sigma from average.

I then changed it to 59.25, which gave:

RetroArch: Average audio buffer saturation: 90.30 %, standard deviation (percentage points): 6.25 %.
RetroArch: Amount of time spent close to underrun: 0.04 %. Close to blocking: 98.62 %.
RetroArch: Average monitor Hz: 59.509641 Hz. Standard deviation: 0.097859 Hz (0.164 % deviation, based on 28 last samples).
RetroArch: Configured monitor FPS 59.250000 Hz deviates -2.653 sigma from average.

Sure you’re not playing an actual PAL game? 90+% audio buffer saturation is complete audio blocking.

I’m testing with the NA Super Metroid.

I just posted a build for 0.9.9-wip1 in the osx build thread, in case that helps.