I recently came around a video on YouTube which was showing a benchmark with Baldur’s Gate 3 on macOS, the problem with the video is that some settings were not used correctly and for this, game performances were actually worse than they would have been with the right settings.
Many people are using these settings without first understanding what they do and it’s not entirely their fault even though the game already provides a short explanation, it’s not very intuitive and easy to understand.
What is AMD FSR and how does it improve my fps in game ?
Let’s take a screen from Baldur’s Gate 3 settings menu where we can see a quick explanation for what it is used for:
It mentions something about an upscaling to get better framerates at a lower resolution, so in other words, you can still play the game at 1080p, but since it is doing an upscaling, you may not see the image as good as it would have been on a native resolution with the AMD FSR turned off. The point is to improve performance by trading image quality for more FPS, but you sacrifice less image quality than if you scale with a simpler algorithm. So while it is still a trade-off, FSR makes it a smaller trade-off than it would normally be.
This is a really powerful tool because without it, very demanding games would not be playable with some graphics cards, like the integrated one for the Apple M1. A little overview how performances look like with the AMD FSR turned on:
Depending on the models and the environment to render on screen, it can be higher or stabilize around 30 fps but overall for the base Apple M1 chip it’s playable.
But what happens if you turn it off ? Well things get even worse:
By the way how do you activate that small window to measure fps in the game ? On macOS just open the terminal and paste the following command:
/bin/launchctl setenv MTL_HUD_ENABLED 1
Replace 1 with 0 to disable it, if the game is already running, you have to close the game and then reopen it to see the windows appearing or disappearing. On Windows you can use the Steam FPS Counter (if you bought the game on Steam of course) or MSI Afterburner.
Double and Triple buffering for vsync
So we talked about the AMD FSR but I also want to talk a bit about the vsync buffering, unless you have more RAM you’re not really going to notice any differences but in a nutshell, with double buffering the GPU waits for the most recently rendered frame to get displayed before beginning work on the next frame. With triple buffering, the GPU starts working on the next frame after that in the third buffer and if that new frame completes first, that frame gets displayed next and the other frame in-between gets discarded.
Which one is better is a personal preference. Double buffer for the steadiest FPS, triple buffer for the faster response rate. Some people prefer steady movement, others prefer the fastest response speed. Personally I chose to completely disable vsync so I can get a stable 30 fps.
Anti-aliasing
Like I said some settings are explained when you select them in the video settings menu, but they are not very easy to understand, I didn’t really know why my game looked like a set of stairs:
After many attempts, I found out for some reason, when the AMD FSR is turned on and you change the Anti-aliasing and you reboot the game, the latter just goes back to off. It’s very important to have this feature turned on TAA because without it, when the pixels are rendered instead of looking like a curve, they look like a set of stairs instead.
Why do the pixels look like this when rendered ? The main reason is because the computer screen or output device is made up of a large number of pixels. Each pixel is rectangular in shape. When it comes to making lines that curve or are rounded, the rectangles cause jagged edges. The Anti-aliasing aims to solve this problem, by making these rendered rectangular pixels to look more like smooth curves instead. So when set to TAA it looks much better than before:
So is BG3 really playable on Apple M1 or some other low hardware ?
Well yes but you have to disable some settings like dynamic crowds or shadows sacrifing a bit some performance to get stable 30 fps. You could easily reach 40 fps but that would mean make the GPU to worker harder and since the hardware itself is not capable to go over than 40 fps with BG3, you should definetely lock the fps to 30 to avoid using more resources.