[2.1.7] Large rendering performance regression on Linux
Re: [2.1.7] Large rendering performance regression on Linux
Gleba is problematic because several decoratives are configured to render in the same layer as trees, and trees are in their own atlases for the shader effects. The design of Gleba goes against batching in general - it wants several layers never meant to interact to interact.
If you want to get ahold of me I'm almost always on Discord.
Re: [2.1.7] Large rendering performance regression on Linux
making those decos "trees" with wind effect of zero might work (via 'if' or 0. multiplier) to unify organic shader. you can also animate them this way 
Last edited by Harkonnen on Wed Jul 15, 2026 6:17 pm, edited 1 time in total.
-
SteveofDoom
- Burner Inserter

- Posts: 13
- Joined: Thu Mar 27, 2025 11:04 pm
- Contact:
Re: [2.1.7] Large rendering performance regression on Linux
Everything you are saying makes sense, but over 40x increase in draw calls (Vulcanus case) seems a bit excessive from such a change even though I know nothing about Factorio's codebase.Harkonnen wrote: Wed Jul 15, 2026 1:56 pmaccording to FFF worms got revamp on 2.1, could be an issue. on texture arrays - back in those days they were abandoned for hw limitations, probably still isSteveofDoom wrote: Wed Jul 15, 2026 1:29 pm The most bizarre thing to me is that it's a 2.1-specific issue. I've never had framerate issues prior to 2.1. I would think texture arrays are a given with the amount of sprites this game has.
Is there something about rendering Gleba that changed compared to 2.0.x? I haven't really noticed any difference visually (except stromatolites ofc), but definitely noticed the performance gap and it's all about decoratives.Rseding91 wrote: Wed Jul 15, 2026 2:50 pm Gleba is problematic because several decoratives are configured to render in the same layer as trees, and trees are in their own atlases for the shader effects. The design of Gleba goes against batching in general - it wants several layers never meant to interact to interact.
Last edited by SteveofDoom on Wed Jul 15, 2026 5:59 pm, edited 1 time in total.
Re: [2.1.7] Large rendering performance regression on Linux
I'm still seeing tremendous performance regressions when I jump from stable (v2.0.77) to experimental (v2.1.11), getting about 5.3fps. Even the title screen lags, though this appears to be dependent on the window size (performance improves if I shrink it down). I've attached
- Attachments
-
- factorio-perf-20111_20260717-154631_OGL_i7-9700K@3.60~31GB~llvmpipe_LLVM_21.1.8,_256_bits~32028MB.csv
- Performance profile
- (3.31 KiB) Downloaded 13 times
Re: [2.1.7] Large rendering performance regression on Linux
According to the name of the file, Factorio is using the software renderer. Make sure to install a graphics driver for your GPU/make sure that it works.rayhem wrote: Fri Jul 17, 2026 7:53 pm I'm still seeing tremendous performance regressions when I jump from stable (v2.0.77) to experimental (v2.1.11), getting about 5.3fps. Even the title screen lags, though this appears to be dependent on the window size (performance improves if I shrink it down). I've attached
I'm an admin over at https://wiki.factorio.com. Feel free to contact me if there's anything wrong (or right) with it.
Re: [2.1.7] Large rendering performance regression on Linux
I don't know why v2.1.11 isn't picking up the graphics driver, but I definitely have one set up. I'm running NixOS withBilka wrote: Fri Jul 17, 2026 7:55 pm According to the name of the file, Factorio is using the software renderer. Make sure to install a graphics driver for your GPU/make sure that it works.
Code: Select all
boot.kernelParams = [ "nvidia.NVreg_PreserveVideoMemoryAllocations=1" ];
# Configure NVIDIA Graphics
hardware.graphics.enable = true;
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
open = true;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.beta;
};
services.xserver.videoDrivers = [ "nvidia" ];
Code: Select all
Fri Jul 17 18:06:09 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 595.45.04 Driver Version: 595.45.04 CUDA Version: 13.2 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 2070 ... Off | 00000000:01:00.0 On | N/A |
| 0% 54C P0 43W / 215W | 859MiB / 8192MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 2154 G ...me-shell-50.1/bin/gnome-shell 338MiB |
| 0 N/A N/A 2583 G ...xwayland-24.1.12/bin/Xwayland 4MiB |
| 0 N/A N/A 2865 G .../opt/Discord/.Discord-wrapped 84MiB |
| 0 N/A N/A 50964 G ...share/Steam/ubuntu12_32/steam 4MiB |
| 0 N/A N/A 51218 G ./steamwebhelper 46MiB |
| 0 N/A N/A 51257 C+G ...am/ubuntu12_64/steamwebhelper 7MiB |
| 0 N/A N/A 565539 G ...current-system/sw/bin/firefox 198MiB |
| 0 N/A N/A 1089628 C+G ...hc-gnome-console-50.0/bin/kgx 61MiB |
+-----------------------------------------------------------------------------------------+

