Page 1 of 1

[0.13.13] - Not enough video memory?

Posted: Tue Jul 26, 2016 11:09 am
by Vatharian
I'm getting not enough video memory error. Video memory usage is set to low.
It happens occasionally when games runs 15+ minutes minimized and I click it to bring it back to front. Screen is black and error message pops out. I play in a window.
Edit: autosaves from that time, when the game was minimised for prolonged time do not have map preview.

Hardware:
laptop HP 8560w
- CPU Core i5 2580M
- RAM: 8GB of RAM
- GPU: NVIDIA Quadro 1000M (GF108, 2GB dedicated VRAM, equivalent of GeForce GT430)
- Two external monitors connected, 1920x1200 and 2560x1600, embedded dispaly turned off and disabled.
Software:
- Windows 8.1
- GF/Quadro peformance driver.

I've played Factorio on weaker machines (including laptop with integrated Intel GPU with same CPU), and ones with less VRAM and I never stumbled upon this.
Has anyone seen such error? Is it worth a bug report?

Code: Select all

0.009 2016-07-26 11:42:32; Factorio 0.13.11 (build 23577, win64, alpha)
   0.009 Operating system: Windows 8.1 
   0.009 Program arguments: "Q:\Factorio\Factorio\bin\x64\factorio.exe" "--wait-to-close" "36388" 
   0.009 Read data path: Q:/Factorio/Factorio/data
   0.009 Write data path: Q:/Factorio/Factorio
   0.009 Binaries path: Q:/Factorio/Factorio/bin
   0.028 Graphics options: [FullScreen: false] [VSync: true] [UIScale: 90%] [MultiSampling: OFF] [Graphics quality: normal] [Video memory usage: low] [Light scale: 100%] [Screen: 255] [DXT: false]
   0.030 Available display adapters: 2
   0.030  [0]: \\.\DISPLAY1 - NVIDIA Quadro 1000M  {0x05, [0,0], 2560x1600, 32bit, 60Hz}
   0.031  [1]: \\.\DISPLAY2 - NVIDIA Quadro 1000M  {0x01, [-1920,0], 1920x1200, 32bit, 59Hz}
   0.031 Create display on adapter 0. Size 1280x720 at position [630, 422].
   0.084 Initialised Direct3D:[0] NVIDIA Quadro 1000M ; driver: nvd3dumx.dll 10.18.13.5490
   0.087     Video memory size (dedicated video/dedicated system/shared system/available): 1984/0/4068/4092 MB
   0.137 Desktop composition is active.
   0.332 Loading mod core 0.0.0 (data.lua)
   0.339 Loading mod base 0.13.11 (data.lua)
   0.489 Loading mod Waterfill 0.1.0 (data.lua)
   0.564 Loading mod 00 Extend Vanilla Tech 0.0.2 (data.lua)
   0.648 Loading mod AddAssemblerBatteries 0.13.1 (data.lua)
   0.727 Loading mod Advanced-Drills 0.1.6 (data.lua)
   0.814 Loading mod alien-science 0.1.1 (data.lua)
   0.888 Loading mod Alien Oil 1.0.9 (data.lua)
   0.985 Loading mod AllFluids 1.0.2 (data.lua)
   1.068 Loading mod andrew-library 0.13.6 (data.lua)
   1.197 Loading mod BetterFluidColors 1.0.1 (data.lua)
   1.387 Loading mod Big_Brother 0.3.2 (data.lua)
   1.519 Loading mod CoalToHeavy 0.0.1 (data.lua)
   1.630 Loading mod concrete-edges 1.2.0 (data.lua)
   1.738 Loading mod Crafting_Speed_Research 0.1.2 (data.lua)
   1.834 Loading mod DistancePlus 0.13.2 (data.lua)
   1.937 Loading mod Electric Furnaces 2.0.0 (data.lua)
   2.079 Loading mod Flow Control 2.0.0 (data.lua)
   2.190 Loading mod Laser_Beam_Turrets 0.1.7 (data.lua)
   2.300 Loading mod LateUpgrades 0.1.2 (data.lua)
   2.429 Loading mod Mk3 Armor 1.0.1 (data.lua)
   2.534 Loading mod nixie-tubes 0.2.4 (data.lua)
   2.646 Loading mod Personal Laser Turret 1.0.1 (data.lua)
   2.778 Loading mod PowerAndArmor 1.0.8 (data.lua)
   2.886 Loading mod research-queue 1.3.0 (data.lua)
   3.016 Loading mod RoboCharge 0.0.7 (data.lua)
   3.166 Loading mod Side Inserters 2.2.1 (data.lua)
   3.287 Loading mod SmartSplitters 1.0.0 (data.lua)
   3.407 Loading mod sniper_turret 0.0.2 (data.lua)
   3.549 Loading mod Suit-Plug 0.1.0 (data.lua)
   3.664 Loading mod TimeTools 1.0.21 (data.lua)
   3.786 Loading mod TreeSeeds 1.0.1 (data.lua)
   3.912 Loading mod Upgrade 2.2.0 (data.lua)
   4.121 Loading mod upgrade-planner 1.1.12 (data.lua)
   4.304 Loading mod Warehousing 0.0.10 (data.lua)
   4.452 Loading mod WaterWell 1.0.12 (data.lua)
   4.566 Loading mod wood-floor 1.0.0 (data.lua)
   4.706 Loading mod andrew-modules 0.13.5 (data.lua)
   4.817 Loading mod EvoGUI 0.4.106 (data.lua)
   4.936 Loading mod andrew-library 0.13.6 (data-updates.lua)
   5.097 Loading mod Big_Brother 0.3.2 (data-updates.lua)
   5.226 Loading mod MiningTools 1.0.24 (data-updates.lua)
   5.347 Loading mod sniper_turret 0.0.2 (data-updates.lua)
   5.490 Loading mod Upgrade 2.2.0 (data-updates.lua)
   5.606 Loading mod wood-floor 1.0.0 (data-updates.lua)
   5.735 Loading mod AutoDeconstruct 0.1.1 (data-final-fixes.lua)
   5.894 Loading mod research-queue 1.3.0 (data-final-fixes.lua)
   6.036 Checksum for core: 3471280900
   6.036 Checksum for mod base: 2556737699
   6.036 Checksum for mod Waterfill: 606382236
   6.036 Checksum for mod 00 Extend Vanilla Tech: 4050598808
   6.036 Checksum for mod AddAssemblerBatteries: 701406483
   6.036 Checksum for mod Advanced-Drills: 2092914757
   6.036 Checksum for mod alien-science: 3782378071
   6.036 Checksum for mod Alien Oil: 3046560636
   6.036 Checksum for mod AllFluids: 1324556902
   6.036 Checksum for mod andrew-library: 3952673690
   6.036 Checksum for mod AutoDeconstruct: 1837472250
   6.036 Checksum for mod BetterFluidColors: 1223381635
   6.036 Checksum for mod Big_Brother: 180679385
   6.036 Checksum for mod CoalToHeavy: 3779318330
   6.036 Checksum for mod concrete-edges: 2741158827
   6.036 Checksum for mod Crafting_Speed_Research: 154979708
   6.036 Checksum for mod DistancePlus: 888607974
   6.036 Checksum for mod Electric Furnaces: 3147337310
   6.036 Checksum for mod Flow Control: 4252853042
   6.036 Checksum for mod Laser_Beam_Turrets: 3880469623
   6.036 Checksum for mod LateUpgrades: 2905291593
   6.036 Checksum for mod MiningTools: 846462847
   6.036 Checksum for mod Mk3 Armor: 2016966843
   6.036 Checksum for mod nixie-tubes: 1977750116
   6.036 Checksum for mod Personal Laser Turret: 2991964388
   6.036 Checksum for mod PowerAndArmor: 345117215
   6.036 Checksum for mod research-queue: 615097349
   6.037 Checksum for mod RoboCharge: 1864144472
   6.037 Checksum for mod Side Inserters: 3560953205
   6.037 Checksum for mod SmartSplitters: 4035304935
   6.037 Checksum for mod sniper_turret: 3920991795
   6.037 Checksum for mod Suit-Plug: 2140664628
   6.037 Checksum for mod TimeTools: 912400220
   6.037 Checksum for mod TreeSeeds: 305859288
   6.037 Checksum for mod Upgrade: 3600368
   6.037 Checksum for mod upgrade-planner: 913784995
   6.037 Checksum for mod Warehousing: 3149064619
   6.037 Checksum for mod WaterWell: 2922867419
   6.037 Checksum for mod wood-floor: 4159053420
   6.037 Checksum for mod andrew-modules: 1557424029
   6.037 Checksum for mod EvoGUI: 1040096666
   7.197 Initial atlas bitmap size is 16384
   7.198 Created atlas bitmap 7589x96
   7.201 Created atlas bitmap 4096x1188
  29.756 Sprites loaded
  29.756 Convert atlas 4096x1188 to: trilinear-filtering 
  29.821 Loading sounds...
  32.153 Custom inputs active: 3
  32.153 Info Updater.cpp:749: Downloading https://www.factorio.com/updater/get-available-versions?username=Vatharian&token=<private>&apiVersion=2
  33.974 0 packages available to download (experimental updates disabled).
  34.050 Factorio initialised
  55.362 Loading map Q:/Factorio\Factorio\saves\Automative.zip
  55.420 Info Scenario.cpp:127: Map version 0.13.11-0
  60.447 Checksum for script Q:/Factorio/Factorio/temp/currently-playing/control.lua: 900459546
  60.448 Checksum for script __Waterfill__/control.lua: 0
  60.451 Checksum for script __Alien Oil__/control.lua: 1764826992
  60.453 Checksum for script __AllFluids__/control.lua: 0
  60.456 Checksum for script __AutoDeconstruct__/control.lua: 923070979
  60.461 Checksum for script __Big_Brother__/control.lua: 2900820270
  60.462 Checksum for script __Crafting_Speed_Research__/control.lua: 1101450763
  60.463 Checksum for script __Flow Control__/control.lua: 2993992164
  60.466 Checksum for script __MiningTools__/control.lua: 1362844263
  60.470 Checksum for script __nixie-tubes__/control.lua: 410122046
  60.475 Checksum for script __research-queue__/control.lua: 1169705214
  60.477 Checksum for script __Side Inserters__/control.lua: 260054353
  60.480 Checksum for script __SmartSplitters__/control.lua: 165821062
  60.481 Checksum for script __sniper_turret__/control.lua: 2035289726
  60.484 Checksum for script __Suit-Plug__/control.lua: 373780568
  60.487 Checksum for script __TimeTools__/control.lua: 3124855458
  60.489 Checksum for script __TreeSeeds__/control.lua: 1205934774
  60.492 Checksum for script __upgrade-planner__/control.lua: 2909614572
  60.494 Checksum for script __Warehousing__/control.lua: 3153892539
  60.495 Checksum for script __WaterWell__/control.lua: 2161341148
  60.499 Checksum for script __EvoGUI__/control.lua: 1609825346
3831.486 Error Util.cpp:57: Unable to create sprite (2048X2048) probably not enough of video memory.
4478.322 Goodbye
edit: bump to newest version

Re: [0.13.11] - Not enough video memory?

Posted: Tue Jul 26, 2016 12:44 pm
by kinnom
set video memory usage higher

Re: [0.13.11] - Not enough video memory?

Posted: Tue Jul 26, 2016 1:19 pm
by Vatharian
Ummm... why?
Seems counter intuitive?

Re: [0.13.11] - Not enough video memory?

Posted: Tue Jul 26, 2016 1:32 pm
by kinnom
video memory usage means how much of the video memory of your computer it is allowed to use.

Re: [0.13.11] - Not enough video memory?

Posted: Tue Jul 26, 2016 4:36 pm
by zebediah49
That log is indicating that it's currently set to 4GB -- that should be way more than enough.

A few things to try:

1. disable mods. The error appears to be when it's trying to make a 2048x2048 sprite, which is either a clever trick by the devs (and not a problem), or something is making your textures way too big.

2. restart the machine. It's possible that you have plenty of memory available total, but not enough contiguous. That sprite it failed on probably takes around 16MB of contiguous memory, and it is technically possible (although unlikely) that you could have 4GB of memory split into tiny pieces (all of which are too small). This will also help if the problem is a memory leak (some other program took a whole bunch of that memory and never gave it back).


I just reread the log and noticed the timing and your note about minimization. That's probably a bug, partially with an unfortunate interaction with Windows. Specifically, newer versions of windows do various "helpful" things to minimized windows -- up to, in windows 10, fully suspending minimized windows. I don't know enough about windows 8 to say if this is specifically what is happening, but it would not at all surprise me if windows was cutting down the available graphics resources to Factorio, since "it doesn't need them".

Try, rather than minimizing it, leaving the window up and partially visible. I suspect that this will force Windows to keep giving it access to graphics resources.

Re: [0.13.11] - Not enough video memory?

Posted: Tue Jul 26, 2016 4:56 pm
by HanziQ
Video memory usage is set to low and it's complaining that it doesn't have enough video memory -> set it higher, seems completely logical to me.

Re: [0.13.11] - Not enough video memory?

Posted: Wed Jul 27, 2016 3:54 am
by zebediah49
Err -- if it's possible that setting Factorio to the low-memory setting causes it to run out of memory, that is 100% a bug. It absolutely should not be possible for a setting within the program to cause itself to crash. It basically becomes an undocumented checkbox in the options menu that crashes the program if used, which is entirely bad.

Second, that is entirely inconsistent with every other program's graphics settings. In any other context (and I'm pretty sure this one as well), setting "Video Memory Usage" to "low" means you're making a request: "Factorio, please do your best to use as little memory as possible". That is, even with it doing its best to not use lots of memory, it's still running out of memory. Setting usage higher should make it use more memory (and thus run out of memory sooner), not make the problem go away.

If someone comes and says "my game is super laggy", they need to reduce the graphics quality so that the weaker hardware can handle it. The answer there is not "set quality to high to allow your hardware to process faster".

So, while it is technically possible that setting "Video Memory Usage" higher will fix the problem, if it does so this is a bug report.

Re: [0.13.11] - Not enough video memory?

Posted: Wed Jul 27, 2016 9:57 am
by kinnom
Video memory usage and graphics quality are different options

Re: [0.13.11] - Not enough video memory?

Posted: Wed Jul 27, 2016 8:14 pm
by Vatharian
After few hours of testing it seems setting video memory to high solved the problem.

Bit of background - I thought that video memory usage settings tells Factorio to limit its use of memory and dynamically load/unload graphics assets, and level of this setting controls aggressiveness of this behaviour. Apparently it sets the limit so low that it can't keep all currently needed assets in the memory, so it fails. I also set it to low because I though that on this low-end machine (I honestly didn't know it had 2GB of onboard memory until I checked when writing the OP, I thought it was something alone the 512MB!), if I tell it to use high amount of memory, it will run out of memory and fail. So ultimately, this is pebkac.

On the other hand the amount of memory is clearly not enough to keep the game running - which may warrant some looking into the engine. Buuuuuuut I use several mods, that include new entities, so again this increases video memory usage. So another pebkac.

And again I play in window, which forces game to share memory with desktop composer, again, pebkac.

And finally, functional effect this setting is highly dependant on connected hardware. For example, when I grabbed 4k monitor and connected it, the game shown me this error almost instantly.

TL;DR: It works, I got confused.

So... maybe listing total memory usage into detailed info to judge how it behaves would be good idea?
If the games sets the threshold for video memory by discrete size, maybe changing from low/med/etc., to 512MB/1GB/2GB/unlimited would be also good idea?
Or maybe I should read with understanding and shut up?

Re: [0.13.11] - Not enough video memory?

Posted: Sun Jul 31, 2016 8:18 am
by posila
Actually, I don't think setting video memory usage to high fixes the issue, it may just delay it. You should update your graphics drivers.
You should never ever get "Unable to create sprite" error on GPU with 2GB VRAM with video memory usage set to low.

Re: [0.13.11] - Not enough video memory?

Posted: Tue Aug 02, 2016 7:05 pm
by stahlinator13
I reproduced this error unintenionally on my desktop computer (i7 4790k, 2xGTX780 3Gb in SLI) and found that the mod WaiTex as source for the problem. (If you don't know, Wai Tex replaces vanilla sprites with high res ones.)
I checked the video memory usage while playing with (~2,5Gb used) and without (~1,1Gb used) WaiTex and I ran another test with all my mods installed (43) except WaiTex (1,2Gb used).

In my case of the crash the missing 500Mb between 2,5 and 3Gb were from a Stream and I alt+tabbed between the windows (I play on fullscreen). Probably a bad idea. :D

So this isn't a bug of the game but it's an issue with mods adding high resolution sprites.

Edit: I agree with Vatharian that you should add video memory usage to detailed information.

Re: [0.13.13] - Not enough video memory?

Posted: Thu Aug 04, 2016 10:50 am
by Vatharian
Issue persists, and I kinda narrowed it down.

1) I do have newest video drivers for my video card.
2) setting video memory to highest setting have little effect, setting generally quickens or delays the issue, when set to low or not.
3) I see corellation with windows lockscreen usage - if I lock my screens (Win+L), error happens after a couple of minutes, regardless of video memory usage setting.
4) I'm aware of increased video memory usage on WaiTex, and this is precisely, why I'm not using it.

In the end it may be game bug.

Re: [0.13.13] - Not enough video memory?

Posted: Thu Aug 04, 2016 8:36 pm
by stahlinator13
Vatharian wrote:4) I'm aware of increased video memory usage on WaiTex, and this is precisely, why I'm not using it.
Ok, I didn't look through your modlist before writing my last post, sorry for that.

Anyway, did you test it with and without mods to see if there is any difference?