When changing brightness or volume with FN-Keys on a Mac with activated shaders, the emulation slows down drastically
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
Description
When SLANG shaders are activated using the Metal video driver and I am using the function keys on an Intel Mac with Intel HD graphics to change the volume/brightness, etc., which pops up an OSD as shown in the image below, emulation slows down drastically from 60 fps to less than 20 fps and severe audio artifacts can be heard until the OSD disappears.

Edit: I have tested this with the gl, vulkan and metal video drivers, and the issue only occurs with the metal driver.
Steps to reproduce the bug
- Start a recent nightly build of RetroArch_Metal with default settings on an Intel Mac with Intel HD graphics
- Run any SNES or GBA ROM on any suitable core
- Press F3 to observe frame rate
- Turn on shaders, e.g. ScaleFx
- Press volume up/down FN-key and observe drop in frame rate and audio crackling.
Version/Commit
RetroArch: Mac OS Metal Nightly from Jan 26, 2023
Environment information
Mac OS Version: 12.6.2 Monterey
Hardware: Intel CPU Mac with Intel HD Graphics 515
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue with a recent RetroArch_Metal nightly on an Intel Mac with Intel HD graphics, using a SNES or GBA core, ScaleFx, and a volume or brightness function key. Compare the Metal driver with gl and vulkan while monitoring the frame rate and audio; done means the function-key OSD no longer causes the reported frame-rate drop or audio artifacts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, macos
- Domain
- desktop, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100