Page 1 of 1

Much better performance on lesser hardware (linux)

Posted: Wed Sep 02, 2015 5:22 am
by buhrietoe
Greetings,
I have an issue with poor performance on my high-end workstation. Its specs are:
i7-4790K, 16GB RAM, GeForce GTX 960 2GB (dual head @ 1920x1080)

I am getting 25FPS on a map, and viewing the Nvidia card information the GPU is virtually unused.

I have a mediocre laptop with specs:
i3-2357, 4GB, Integrated Intel HD Graphics (single head @ 1366x768)

On this laptop in the same map at the same locaton and zoom level I get 52fps.

Both systems run an up-to-date install of Archlinux with the same window manager (i3). Additionally, the laptop is at around 35% cpu usage while the workstation is at 70% cpu usage.

Screenshots of timing info:
workstation
workstation
workstation-factorio.png (4.09 MiB) Viewed 10623 times
laptop
laptop
laptop-factorio.png (1.84 MiB) Viewed 10623 times
Is there any other helpful debug information I can provide?

Re: Much better performance on lesser hardware (linux)

Posted: Wed Sep 02, 2015 6:14 am
by lyallp
I was going to ask if you had frame sync enabled but the CPU usage sort of threw that, unless the CPU goes in a tight loop waiting for frame sync.

Re: Much better performance on lesser hardware (linux)

Posted: Wed Sep 02, 2015 6:44 am
by prg
There are only 104MB of VRAM used when running the game? Is the GPU getting used at all? You could get that kind of performance with a software renderer. Check the logs/terminal output for the "Initialised OpenGL:" line.

Re: Much better performance on lesser hardware (linux)

Posted: Wed Sep 02, 2015 9:18 am
by Oxyd
Logs would be nice to see here.

Re: Much better performance on lesser hardware (linux)

Posted: Thu Sep 03, 2015 12:01 am
by buhrietoe
# factorio
0.000 2015-09-02 18:48:26; Factorio 0.12.6 (Build 16640, linux64)
0.000 Operating system: Linux
0.000 Program arguments: "factorio"
0.000 Read data path: /usr/share/factorio
0.000 Write data path: /home/jason/.factorio
0.000 Binaries path: /home
0.168 Initialised OpenGL: Gallium 0.4 on llvmpipe (LLVM 3.6, 256 bits); driver: 3.0 Mesa 10.6.5
0.176 Graphics options: [FullScreen: false] [VSync: false] [UIScale: 100%] [MultiSampling: OFF] [Graphics quality: normal] [Video memory usage: all] [Screen: 255]
0.270 Loading mod core 0.0.0 (data.lua)
0.271 Loading mod base 0.12.6 (data.lua)
0.544 Initial atlas bitmap size is 8192
0.570 Created atlas bitmap 8192x8186
0.605 Created atlas bitmap 8192x7003
45.952 Info Updater.cpp:720: Downloading https://www.factorio.com/updater/get-av ... iVersion=2
46.504 1 packages available to download (experimental updates enabled).
46.529 Factorio initialised
67.812 Loading map /home/jason/.factorio/saves/yaymp.zip
67.818 Info Scenario.cpp:160: Map version 0.12.4-3

Re: Much better performance on lesser hardware (linux)

Posted: Thu Sep 03, 2015 12:09 am
by keyboardhack
Maybe you computer is, for some odd reason, using the CPU's GPU instead of the Nvidia GPU? Would explain why the Nvidia GPU hasn't allocated any memory for factorio textures and it would explain the low fps as the CPU GPU usually is really bad.

Re: Much better performance on lesser hardware (linux)

Posted: Thu Sep 03, 2015 12:15 am
by sillyfly
Don't know how much difference it could have, but one thing to look at is the "Max threads" option on both machines.

Edit: Could also be related to this: https://forums.factorio.com/forum/vie ... f=7&t=3619

Re: Much better performance on lesser hardware (linux)

Posted: Thu Sep 03, 2015 12:22 am
by Oxyd
buhrietoe wrote:0.168 Initialised OpenGL: Gallium 0.4 on llvmpipe (LLVM 3.6, 256 bits); driver: 3.0 Mesa 10.6.5
This sounds like the opensource driver. Although in that case, I'd expect nvidia-settings not to work either. Nevertheless, can you check which videocard driver is in use?

Re: Much better performance on lesser hardware (linux)

Posted: Thu Sep 03, 2015 1:27 am
by buhrietoe
Doh! It was Mesa interfering. I am indeed using the nvidia driver and not nouveau. I found that mesa-libgl was installed. I replaced that with nvidia-libgl and factorio is performing excellent. No matter what I do I cant dip below 60FPS now. Cpu is only at 4% usage while playing the game and the video memory used is now at 700MB. Thanks everyone!

*edit
This is my OpenGL line now:
0.179 Initialised OpenGL: GeForce GTX 960/PCIe/SSE2; driver: 4.5.0 NVIDIA 352.41