You plug your shiny new eGPU into your MacBook Pro, and expect a game like Borderlands 3 from the Epic Games Store to run smoothly (30+ FPS) at medium settings on your 4k monitor. It's a good graphics card, but when running the Benchmark animation, you're still seeing drops into 10-20fps range, and it stutters and becomes a slideshow. Is it a crappy port? Is your graphics card broken? No! Take heart, and follow these steps:
- Use a disk space calculator like DaisyDisk, and notice that there's a huge folder at
/Users/Shared/Epic\ Games/Borderlands3/, where the Epic Games Store puts all of its games
- Open it in finder by running:
open /Users/Shared/Epic\ Games/Borderlands3/on the terminal
- ⌃+click or on the Borderlands3 app in that folder and select "Get Info" from the menu
- If your eGPU is plugged in, you should see a checkbox that says "Prefer External GPU" , as explained in this Apple Support article . Check that box!
- Re-launch the game via the Epic Store. Your benchmarks should be markedly improved.
For some reason the game was trying to run using the MacBook Pro's built-in mobile GPU instead of the honking, loud, industrial-strength graphics pipes of the eGPU. Checking that setting fixed it.
There's a few things I don't know about this setting:
- will it get clobbered if Epic Games Store updates the game files?
- is it retained after unplugging and re-plugging the eGPU?
- is there any way to set it via command-line instead of in Finder?
- can it be passed in as a command-line argument via Epic Game Store's per-game "Additional Command Line Arguments" setting?
But at least this has solved my slideshow problem for now.