[Posila] [0.14.9] [MP] Not enough of video memory

We are aware of them, but they have low priority. We have more important things to do. They go here in order not to take space in the main bug thread list.
yfcz
Inserter
Inserter
Posts: 47
Joined: Mon Jul 04, 2016 7:27 pm
Contact:

[Posila] [0.14.9] [MP] Not enough of video memory

Post by yfcz »

Hello,

I was idle for several hours while connected to server. Then suddenly my game crashed with error shown on attached screenshot.

When I looked at used video ram (GPU-Z) game was consuming only 1,5 GB out of 4 GB available.

Client log is also attached.
Attachments
Clipboard02.jpg
Clipboard02.jpg (123.2 KiB) Viewed 1573 times
factorio-previous.log
(247.87 KiB) Downloaded 99 times
posila
Factorio Staff
Factorio Staff
Posts: 5366
Joined: Thu Jun 11, 2015 1:35 pm
Contact:

Re: [Posila] [0.14.9] [MP] Not enough of video memory

Post by posila »

This might happen when Windows turns off screens or computer goes to sleep or something like that. DirectX loses graphical device and it needs to reset itself. Allegro (and therefore Factorio) handles this poorly. I tried to fix it before as we had kind of lot of bug reports for crashes when putting computer to sleep while Factorio is running, but apparently the fix doesn't work 100%.

I am curious what was happening just before the game crashed:

Code: Select all

22218.854 Device reset internal.
22221.459 Device reset external.
22221.476 Device reset internal.
22223.995 Device reset external.
22224.772 Device reset external.
22224.954 Device reset internal.
22227.494 Info ClientSynchronizer.cpp:253: Changing local latency from 17 to 21 (nextTickToSend: 64997714, ticksClientWillJumpOver: 0 {})
22237.445 Info ClientSynchronizer.cpp:253: Changing local latency from 21 to 13 (nextTickToSend: 64998315, ticksClientWillJumpOver: 0 {})
22242.444 Info ClientSynchronizer.cpp:253: Changing local latency from 13 to 12 (nextTickToSend: 64998609, ticksClientWillJumpOver: 0 {})
22247.429 Info ClientSynchronizer.cpp:253: Changing local latency from 12 to 11 (nextTickToSend: 64998908, ticksClientWillJumpOver: 0 {})
22252.428 Info ClientSynchronizer.cpp:253: Changing local latency from 11 to 10 (nextTickToSend: 64999207, ticksClientWillJumpOver: 0 {})
22267.511 Info ClientSynchronizer.cpp:253: Changing local latency from 10 to 11 (nextTickToSend: 65000108, ticksClientWillJumpOver: 0 {})
22287.578 Info ClientSynchronizer.cpp:253: Changing local latency from 11 to 18 (nextTickToSend: 65001307, ticksClientWillJumpOver: 0 {})
22297.628 Info ClientSynchronizer.cpp:253: Changing local latency from 18 to 10 (nextTickToSend: 65001916, ticksClientWillJumpOver: 0 {})
22313.712 Info ClientSynchronizer.cpp:253: Changing local latency from 10 to 8 (nextTickToSend: 65002808, ticksClientWillJumpOver: 0 {})
22320.195 Info ClientSynchronizer.cpp:253: Changing local latency from 8 to 7 (nextTickToSend: 65003107, ticksClientWillJumpOver: 0 {})
22320.245 Info ClientSynchronizer.cpp:253: Changing local latency from 7 to 9 (nextTickToSend: 65003108, ticksClientWillJumpOver: 0 {})
22338.678 Info ClientSynchronizer.cpp:253: Changing local latency from 9 to 8 (nextTickToSend: 65004008, ticksClientWillJumpOver: 0 {})
22345.245 Info ClientSynchronizer.cpp:253: Changing local latency from 8 to 7 (nextTickToSend: 65004308, ticksClientWillJumpOver: 0 {})
22345.277 Info ClientSynchronizer.cpp:253: Changing local latency from 7 to 9 (nextTickToSend: 65004308, ticksClientWillJumpOver: 0 {})
22349.234 Device reset internal.
22351.306 Info ClientSynchronizer.cpp:253: Changing local latency from 9 to 20 (nextTickToSend: 65004608, ticksClientWillJumpOver: 0 {})
22351.804 Device reset external.
22351.810 Device reset internal.
22354.147 Device reset internal.
22354.500 Error Util.cpp:57: Unable to create sprite (1612X912) probably not enough of video memory.
It resets the DirectX device few times, than runs for two minutes and starts reseting it again, which is fatal this time.
"Device reset internal" usualy happens when window is resized (but can happen also for other reasons).
"Device reset external" is DirectX losing the device due to screens turning off, or something like that.

I'll look into it sometime, but it is kind of minor issue. If you want to play Factorio AFK, set force-opengl=true in %APPDATA%\Factorio\config\config.ini. OpenGL doesn't have this kind of problem.
Post Reply

Return to “Minor issues”