Page 1 of 1
Slower rendering on 7800XT than 780M
Posted: Mon Dec 16, 2024 4:33 am
by kurufu
I am experiencing a very odd behavior with Factorio where a very beefy GPU is seemingly unable to render 60fps while the much more modest iGPU is blazing away at 200fps.
- 7800xt
- screen_20241215195657.png (13.61 MiB) Viewed 421 times
- 780M
- screen_20241215195956.png (13.74 MiB) Viewed 421 times
This behavior seems consistent across sway/gnome. In both cases I started the compositor on the same device I was running Factorio on (`WLR_DRM_DEVICES=` for sway, and `mutter-device-preferred-primary` KMS tag for gnome), and the monitor was plugged into that device. Factorio was running fullscreen but windowed didnt seem to matter as long as the window was near fullscreen size. It seems to only happen when zoomed out to near the max level on places with many sprites like the center of this spaghetti base. I happen to also be using pyanodon's mods in this save.
The only oddity is that setup should be that is an eGPU running at 4xPCIe3.0 and at 4k any attempts at mapping the device memory per frame are going to be brutal. Happy to provide any information I can to help pin down what precisely is slow.
Re: Slower rendering on 7800XT than 780M
Posted: Mon Dec 16, 2024 3:05 pm
by Rseding91
2 guesses:
1. You're running much higher graphics settings with the 7800XT
2. One is an Nvidia GPU and the other is an AMD GPU and you're on linux which means you get that whole experience with drivers.
Re: Slower rendering on 7800XT than 780M
Posted: Mon Dec 16, 2024 7:18 pm
by Sopel
4xPCIe3.0
that's abysmal and I would not be surprised if the source of the problem
Re: Slower rendering on 7800XT than 780M
Posted: Mon Dec 16, 2024 7:34 pm
by aka13
I see you now have discovered a game limited by egpu bandwidth
Another one would be the recent spiderman.
You have a very bad connection even by egpu standards, tbh.
Re: Slower rendering on 7800XT than 780M
Posted: Tue Dec 17, 2024 1:46 am
by kurufu
Rseding91 wrote: Mon Dec 16, 2024 3:05 pm
2 guesses:
1. You're running much higher graphics settings with the 7800XT
2. One is an Nvidia GPU and the other is an AMD GPU and you're on linux which means you get that whole experience with drivers.
1. The settings are the same, maxed out I guess in both cases though when trying various settings they didnt seem to make any difference on either gpu.
2. Both are AMD, the 780M is the name for the igpu on the Ryzen 7840HS.
aka13 wrote: Mon Dec 16, 2024 7:34 pm
I see you now have discovered a game limited by egpu bandwidth
Another one would be the recent spiderman.
You have a very bad connection even by egpu standards, tbh.
Its definitely possible, though i'm not aware of devices that can negotiate pcie4 (at least that cost less than this GPU). I also find it surprising that factorio would be streaming so much data (in practice it does alright for streaming ~1080p textures at 60fps, is factorio really pushing that much data per frame intentionally after texture atlases are built? id love to know if there is a way to check).
Re: Slower rendering on 7800XT than 780M
Posted: Tue Dec 17, 2024 11:48 am
by aka13
Do you render on internal or external display with the eGPU?
Re: Slower rendering on 7800XT than 780M
Posted: Wed Dec 18, 2024 2:42 am
by kurufu
aka13 wrote: Tue Dec 17, 2024 11:48 am
Do you render on internal or external display with the eGPU?
It's in a minipc so there is no internal display. The system is reconfigured to run everything on the given device and the monitor is plugged into that device for these tests. So for the 780M the monitor is plugged into the minipc, and for the 7800XT the monitor is plugged into that device. Between runs the compositor is restarted to run on the device with the monitor plugged in, similarly factorio is started on that device.
Basically if I could disable the iGPU i would, but from a practical perspective its a bit more annoying to accomplish this.
Re: Slower rendering on 7800XT than 780M
Posted: Sun Dec 22, 2024 8:48 pm
by kurufu
Spent some more time flipping settings, and the largest impact on the render speed appears to be "Item shadows" ~5ms, "Decoratives" ~3ms, and "Animated water" ~2ms. Nothing else makes a noticeable difference and playing with various settings in "the rest" also dont seem to have much impact. Proportionally these save about the same amount of time on both gpus though, e.g. 50% (-10ms) on the 7800XT and 50% (-2ms) on the 780M. So it's probably not why the card is surprisingly slow.