Reproduction Steps
Open the file I’ve privately attached to this bug report with the hardware specifications I’ve provided below to reproduce this bug.
System Information
2019 16-inch MacBook Pro Base Model
CPU: i7-9750H @ 2.60GHz
GPU: AMD Radeon Pro 5300M 4GB
RAM: 16GB
OS: Windows 10 Home via Boot Camp
OS: macOS Big Sur 11.0.1
This bug occurs both in Windows 10 via Boot Camp and in macOS.
I believe this is a bug and that my hardware should be sufficient enough to use the Future lighting technology in a performant manner as I can play both GTA 5 and COD: Cold War at 60 FPS on normal settings (in Boot Camp). I also think this has to do with my hardware as the performance issue occurs in both macOS and in Windows 10 through Boot Camp.
Expected Behavior
With the lighting technology set to Future, on graphics level 10, I should be expecting higher than 25 FPS.
Actual Behavior
With the lighting technology set to Future, on graphics level 10, I get 25 FPS or less with a constant lag spike as seen in the MicroProfiler.
Workaround
A possible but undesirable workaround is to set the lighting technology to Voxel or Shadowmap as the performance is as expected, maintaining a constant 60 FPS on graphics level 10.
Issue Area: Engine Issue Type: Performance Impact: High Frequency: Constantly A private message is associated with this bug report
That’s not how computers work, lol. Try pulling your GPU out and seeing how well even notepad runs. (Hint, it won’t, lol). Roblox does not “barely” use the GPU. It uses it to render everything on screen.
The CPU is responsible for sending data to the GPU to process (ie here is a list of assets on screen, please render them!) and handling things like physics, scripts, etc.
The GPU will render anything on screen. It doesn’t matter what your lighting setting is. Every last pixel on the screen was rasterized and processed for your monitor by the GPU.
As for OP, how many lights do you have in the place/areas the camera is? If it’s a lot then that would explain the problem. Running dozens of shadowmap computations with PBR lighting effects is not very performance friendly.
Your GPU is not superb but it’s also not that terrible, so if you have a lot of lights that may be the problem.
Yeah I meant to the point where windows uses Microsoft basic display adapter (and thus uses the CPU for all rendering), LOL! Even Intel Hd will trump that any day. Can’t even display notepad at 15 fps on a good CPU lol.
When I made this post, there were 274 lights in the game, with 32 of them constantly moving on every heartbeat. I noted down the FPS each time I removed lights to try to narrow down what the root cause could be and it seems to just be really unoptimized for my hardware.
13.2 FPS with 274 lights: 242 static, 32 moving
11.4 FPS with 150 lights: 118 static, 32 moving
15.9 FPS with 118 lights: 118 static, 0 moving
12.5 FPS with 32 lights: 0 static, 32 moving
36.6 FPS with 2 lights: 0 static, 2 moving
60 FPS with 0 lights: 0 static, 0 moving
Even with 2 total lights in the game, both moving, I get 36.6 FPS.
I disabled shadows on all the lights in my game and I still only got 35 FPS. The moving lights I have are sort of necessary for my type of game, as they are spotlights.
Each of the following tests have shadows disabled for all of the lights.
35 FPS with 150 lights, 118 static, 32 moving
50.5 FPS with 134 lights, 118 static, 16 moving
60 FPS with 118 lights, 118 static, 0 moving
Shadow computation is very expensive by the looks of it, although so is whatever computation occurs when 32 lights are moving at the same time, even with all shadows turned off, considering that cuts my FPS in half.
At the same time though, shadows being enabled in a realistic environment, such as a building, should be a given, so I can’t see myself being able to turn them off without sacrificing all the visual benefits to the future lighting technology, since at that point, I may as well be using voxel. Even if I did turn all shadows off, I couldn’t have 32 moving lights, which matters more to my game than having shadows enabled would.
You might be running Roblox on the integrated GPU instead of your more powerful discrete GPU.
The dedicated GPU (Radeon Pro 5300M) ain’t the best but shouldn’t be struggling that bad with two lights. My only conclusion is that Roblox is running off of the power saving “GPU” they build into processors for people who don’t need dedicated graphics, which is intended to save power on laptops for low intensity tasks (ie using a web browser) where as dedicated/discrete is used for intensive tasks like gaming or video editing.
Since I am unfamiliar with MacOS I cannot help as much but you need to look up how to force use of the discrete GPU. Note that this will make your battery drain faster.
I have special software to manually select which is being used, between my CPU’s integrated graphics or my discrete GPU.
The ability to manually set whether integrated graphics or discrete graphics is being used is not a native setting in macOS and the only way to do this is if a program requests that macOS use discrete graphics, i.e Photoshop, or another GPU intensive program, or if you download special software to change this manually, like I have. I don’t know if Roblox is programmed to ask macOS to use the discrete GPU or if it just uses integrated graphics.
I believe in the previous posts, I had the setting set to dynamic switching, but even when I manually set it to my discrete GPU, my FPS was still low. Just to be sure, I will redo the tests with various lighting configurations with discrete graphics as well as on Windows incase my software to manually set the GPU isn’t working.
38.8 FPS with 150 lights, 118 static, 32 moving (discrete graphics, no shadows)
13.4 FPS with 150 lights, 118 static, 32 moving (discrete graphics, shadows enabled)
These FPS results align with my previous results that had the same lighting configuration when I believe I had my graphics set to dynamic switching. In both instances, the FPS was within 2 FPS of one another.
Regardless of being able to switch between integrated or discrete graphics on macOS, I specifically included how this was a problem even when on Windows 10 through Boot Camp, which only utilizes discrete graphics and never integrated graphics.
I’m honestly inclined to say this is either a problem with your computer or a problem with how Roblox interacts with your specific hardware and drivers. And make sure to reboot Roblox between switching GPU.
@zeuxcg might be able to provide further assistance but if you verify that Roblox is using your discrete GPU and that drivers are up to date then there’s nothing I can suggest.
This is normal. Future lighting is stupidly bad for performance to the point where it is borderline unusable. I am surprised you are even able to run the map with that many lights.
When I had my mac, it had way worse specs than @r_r and I couldn’t even use FIB because it would cause awful screen tearing on intel igpus. (which was still occuring as of early 2021 pre fire)
It was unusable.
My current setup (luckily) gives me access to a 1650 and a 3070 mobile.
Many games are very laggy on the 1650 and it’s a shame since it’s a nice budget friendly card that gives me 60-150 fps in most modern games.
Dare I need to explain the 3070? That runs without issue due to the fact it’s top of the line.
Not sure what happened within the few months FiB3 has been out, but I have noticed lots of issues from lower end / and apple products.