Page 1 of 1

First load *incredibly* slow ( > 20 minutes) [Resolvedish]

Posted: Sun Aug 17, 2014 7:16 am
by deepfryer
When I try to load Factorio (10.8, Linux x86_64, Ubuntu 12.04) it appears to be stuck at the "Loading sprites" stage, except every few minutes either the % complete will tick upwards, or I'll get a console message with libpng whining about incorrect sRGB profiles. I take the latter to mean that it *is* making some kind of progress in loading images, but it's not clear to me if this is due to some mis-configuration on my end, intended behaviour, or a bug.

The very first time I ran it, it took a while to reach the stage where it prints:

Code: Select all

00:49:34 Info Atlas: Initial atlas bitmap size is 8192
00:49:34 Info Atlas: Created atlas bitmap 8192x8178
00:49:34 Info Atlas: Created atlas bitmap 8192x3878
I killed it some time after this (it had been loading for over half an hour, and had reached 16% or so) and restarted it. Now it reaches the "Created atlas bitmap" stage fairly promptly, before slowing down to a glacial pace. Do I just need to let it cook for a few hours to cache something else, or is there something else I can do to speed it up?

Other details:
- Gfx card: NVidia 8800 GTS, 320MB VRAM (I realize this is a bit small given the demands of the game)
- CPU 2.4ghz Intel Q6600, 8GB RAM
- I've changed config.ini to set graphics to low; I also experimented with reducing the number of directions for the train/car/wagon sprites, which was mentioned in a thread dealing with graphics loading issues.

Re: First load *incredibly* slow ( > 20 minutes)

Posted: Sun Aug 17, 2014 11:21 pm
by deepfryer
Profiling determined that it was derping around in the nvidia GL libraries. I updated the nvidia drivers (from v.170 to v.311), and now it makes progress (although it still takes a few minutes to load).

Re: First load *incredibly* slow ( > 20 minutes) [Resolvedis

Posted: Mon Aug 18, 2014 9:00 am
by cube
I have no idea what could cause this, even on much weaker machines the start takes only a few (20? 30?) seconds. The first start after updating the game or installing a mod is expected to be longer (but not by much, maybe by another 30 seconds) because we are updating a cache of graphics crops. This doesn't show up as a section by itself in the loading screen, instead its added to "Loading mods".

Re: First load *incredibly* slow ( > 20 minutes) [Resolvedis

Posted: Mon Aug 18, 2014 9:53 am
by deepfryer
Yeah, my guess is that some pathological behaviour in the driver is being triggered, especially in the older version - I tried running 'perf' while it was all hung up, and more than 95% of the CPU was being spent in the GL library. Of that, about half of it was spent in the kernel, zero-filling mmapped pages, and the rest of the time seemed to be spent in something related to /dev/zero (which I think the nvidia drivers use?) - I can't really tell without debug symbols. So basically, doing an incredible amount of nothing!

What is happening as the sprites are loaded?

Re: First load *incredibly* slow ( > 20 minutes) [Resolvedis

Posted: Thu Aug 21, 2014 12:45 pm
by Blackence
This seems to indicate that allegro desn't work too well in combination with the nvidia driver in some (rare?) cases, maybe it depends on the hardware used? https://www.allegro.cc/forums/thread/614008

Since Factorio uses allegro, fixing it should fix Factorio if the devs pick up the allegro patch. However I'm not even sure if they use allegro 5… :-) Maybe you can find that info and take a look at the allegro source to find out what's going on. And this might be one of the cases where a dynamically linked (against allegro) factorio binary could come in handy.