Improve Diablo 3 Performance in Mac OS X
Diablo 3 system requirements are fairly lenient but as many Mac users have discovered, performance on some computers just isn’t that great. Even some of the newest Macs with the best GPU’s are experiencing performance issues. The good news is that Blizzard is on the case and actively working on patches to address many of these graphics issues in Mac OS X, but nobody is quite sure when that patch will be released. Until then, here are some optimization tips to improve the games playability in OS X.
Check the Frame Rate (FPS) in Diablo 3
First things first, let’s check the FPS (frames per second) of Diablo 3. This is the easiest way to benchmark how various changes effect game performance:
- In gameplay (not the character selection, menu, or loading screens, etc) hit Control+R to show the FPS in the upper left corner
Control+R works in both Mac OS X and Windows if you feel like comparing performance between the two OS’s. You will have to hit Control+R to show frame rate each time you are in game play, keep this in mind while you adjust settings.
General Performance Optimization Tips for Diablo 3 in Mac OS X
Here are some general optimization tips, if the game is running horribly try them all. If it’s running reasonably well, tweak the settings as appropriate until you can get a stable frame rate with decent graphics.
- Quit All Other Applications – Background processes aren’t going to help you, quit every other app before starting the Diablo III client for the best performance.
- Set the Maximum Frame Rate to 40 – this helps with FPS consistency, preventing those stutters you can experience when moving from walking around and suddenly into a complex battle sequence. Keep the background frame rate low as well.
- Disable Anti-Aliasing – anti-aliasing looks great but disabling it can add a constant 3-8 FPS
- Turn all settings to “Low” – this seems obvious but not everyone does it, setting everything to low makes a big difference
- Disable Shadows – turning off shadows gives you an instant jump in frame rate
- Run at a Lower Resolution – Choosing a lower screen resolution for the game will likely have the biggest performance impact, though it also can dramatically effect how the games graphics look. Pick as low a setting as you can tolerate graphically.
- Run in Windowed Mode – Once this is set you can drag the window by the corner to resize the windowed screen. This has basically the same effect at running D3 a lower resolution, but because it’s contained in a smaller window the graphics won’t look as pixelated.
- Turn Off Secondary Displays – If you’re using a dual-screen setup with a laptop or otherwise, disable the primary screen or only use the primary screen. You can do this with a technical approach, or the lazy way by turning down brightness to zero and setting the external display to the primary screen. This causes the GPU to use less resources to drive two screens, freeing those resources for the game instead.
You may want to take a glance at Blizzards general recommendations and troubleshooting tips too.
Advanced Tweak: Disabling Trilinear Filtering
Disabling trilinear filtering can have a huge impact on game performance, but oddly this isn’t included in the general Graphics settings so we’ll have to dig around in the filesystem to do it:
- Quit Diablo 3
- From the OS X desktop, hit Command+Shift+G and enter the following path:
~/Library/Application Support/Blizzard/Diablo III/
- Find and locate the “D3Prefs.txt” file, and open it in TextEdit
- Hit Command+F and search for “DisableTrilinearFiltering”, change the setting from “0” to “1”
- Save the file and exit out of TextEdit
- Relaunch Diablo 3, start a game, and hit Control+R to see the FPS difference
Turning off trilinear filtering makes the game look a little more fuzzy, but for many users the boost in frame rate is worth it.
As you can see you’ll have to experiment with various settings to see what works best for you, but with a combination of the above tips you should be able to boost frame rate easily 10-25FPS while still maintaining tolerable graphics settings.
Last Straw: Play in Windows with Boot Camp
This may not be a popular recommendation, but if possible, you should install Diablo 3 in Windows and run the game from Boot Camp instead. Performance will be dramatically improved on virtually all Mac hardware if the game is run in Windows because of better optimizations, DirectX, and better graphic driver support. If you have a spare Windows key laying around and the hard disk space to support a Windows installation, this is really the best bet.
One final tip regardless of running in OS X or Windows: wait for every patch to download and install before playing the game. Sometime in the near future Blizzard will be releasing patches that directly address the graphical issues that users are experiencing, you don’t want to miss the patch just because you are anxious to play.
lol you mean decrease all of visual features that make the game look awsome
its ok…mac put “m” type cards on expensive systems ..so there is nothing you can do to play this game with decent grafs ….
I have the new 13″ 2012 macbook air with ivy bridge CPU and HD 4000 and I get 35 FPS average in native screen resolution of 1440×900. So this is very playable on the new Air.
Note that this game makes the fan start and it pretty noisy
What kind of settings do you have enabled and where in the game are you to get that frame rate? I get about 15-45 FPS depending on what’s going on in-game with a 2011 MacBook Air with Intel HD 3000, running all settings on low at native resolution. The FPS stays quite high in towns and smaller battles, but drops quite a bit during the crazier battles.
I have found 2 solutions, mixed them with a 3rd I have done and now I have GREAT GRAPHICS and STEADY FPS even while confronting a whole pack of enemies.
I have posted the solution here to help others:
Wow. Seriously.. I would NOT trade high graphics for better framerate on D3.
Not even before the 1.0.2 patch.
Before the 1.0.2 patch though, high shadows absolutely KILLED fps. Even on the latest macbook pro! Now, I have EVERYTHING on high (including shadows) and it’s all fine and dandy! Kudos to the Blizzard mac team!
Apple finally make playable drivers!!!!!!
I followed a modification mentioned here:
As you can tell by my reply, my framerate increased pretty significantly. On a 5.1 Macbook, with the standard settings on low, my framerate was pretty terrible. I had to fight the Skeleton King 10+ times since I often found myself not being able to do what I wanted.
Even with the modifications, I don’t see why anyone would want to play Diablo III with an average framerate of 12fps.
“Turn Off Secondary Displays […] the lazy way by turning down brightness to zero and setting the external display to the primary screen. This causes the GPU to use less resources to drive two screens, freeing those resources for the game instead.”
99.99999% sure this won’t stop the GPU from rendering the unlit screen.
Battle Net forums have a lot of good info too here’s a thread from Blizz employees:
This is the one area where windows machines still have the advantage: gaming. It used to be that Apple had the best graphics capabilities, but those days are long gone. But who cares anyway.
This tip applies to both higher end Mac and Window machines and can provide a massive performance improvement. The rendering method for certain effects is determined by the type of GPU used. This means that shadows on a newer video card look better than they do on an older GPU even when both are set to high.
This is defined in the D3Prefs.txt under the Hardwareclass key. The higher the class value, the more complex the rendering method. If you replace this number with a lower value you can trade a slight visual impact for a large performance gain.
For example I dropped from 4 to 3. The only noticeable visual difference was with the edges of shadows not being as soft, but in return I was able to push the resolution a notch, enable AA and enable High shadows. All of this while maintain the same or better FPS.
Excellent tip Rob, thanks!
For those with a newer MacBook Pro make sure you are using the GOOD GPU and not the crappy onboard one. Set it in Energy Saver prefs.