[0.17.63] Textures 'corrupted' after hibernation

Things that has been reported already before.
Post Reply
GamerBene19
Burner Inserter
Burner Inserter
Posts: 5
Joined: Wed Aug 07, 2019 5:29 pm
Contact:

[0.17.63] Textures 'corrupted' after hibernation

Post by GamerBene19 »

Picture of this bug: Image

Facts about my system:
  • CPU: Intel Core i5 4460
  • GPU: GeForce GTX 960
  • GPU Driver: nvidia-driver-430
  • OS: PopOS 19.04 (Basically Ubuntu 19.04)
  • Factorio version: 0.17.63
Steps to reproduce:
  1. Open Factorio and load a savegame (aka: play as usual)
  2. Pause the game by pressing ESC
  3. Send your PC into hibernate
  4. Wake your PC from hibernate
  5. You should now something similar to the picture above.
(Kinda) Fix for the bug: Restarting Factorio. (I tried just reloading a save, it doesn't fix it.)

Log file: https://pastebin.com/tUuby3TL

Some context:
  • The small thin vertical line to the right of the GC is a powerline. You can only see the vertical lines though. (There're horizontal ones too)
  • You can identify the powerpoles by their shadow in the corners
  • The boxes at the circuits belt are some underground-belts (The box where the two belts meet is a splitter).
  • The box in the middle of the screen is the player.
  • The floor of the whole visible area is covered in refined concrete.
Additional info:
  • It happens every time I enter and wake from hibernation (if Factorio was opened/running while hibernating)
  • This reddit post (by me)
  • I also plan to try the same thing under Windows (7) (as I still have it installed but just not used it for a long time). But that'll take some time as I first need to make sure everything is up to date and install Factorio and so on. Might be able to do it till tomorrow evening.
I searched the previous bugs and also found something related to hibernation but nothing like this issue. I hope it's not a duplicate.
Also: Just tell me if you need additional info. I'm happy to help.

Bilka
Factorio Staff
Factorio Staff
Posts: 3229
Joined: Sat Aug 13, 2016 9:20 am
Contact:

Re: [0.17.63] Textures 'corrupted' after hibernation

Post by Bilka »

I'm an admin over at https://wiki.factorio.com. Feel free to contact me if there's anything wrong (or right) with it.

posila
Factorio Staff
Factorio Staff
Posts: 5202
Joined: Thu Jun 11, 2015 1:35 pm
Contact:

Re: [0.17.63] Textures 'corrupted' after hibernation

Post by posila »

Welcome to the forums. Thank you for taking the time to write up the bug report. I appreciate all the details you included and that you posted the log too.

Unfortunatelly, as you can guess from Bilka's response, this is outside of scope of what we want to support.

In particular, it is driver's and OpenGL's job to persist content of textures when GPU resets and normally application doesn't even have any way to detect textures need to be restored. There is an extension that adds ability to detect these problems (ARB_robustness), but as I said, it is not something we are looking into supporting.

Pretty much same deal on Windows. It may work, it may not.

posila
Factorio Staff
Factorio Staff
Posts: 5202
Joined: Thu Jun 11, 2015 1:35 pm
Contact:

Re: [0.17.63] Textures 'corrupted' after hibernation

Post by posila »

Additional thought: after thinking about the screenshot for a while, OpenGL/driver managed to presist textures that were populated by RAM -> VRAM copy operation, while textures that were compressed on GPU, so their final content comes from VRAM -> VRAM copy, are not corrupted. I don't know if that is behaving according to OpenGL specification or maybe some internal optimization that assumes the texture is temporary offscreen buffer.

The conclusion is ... if you'd like for the textures to survive hibernation even in cost of longer game startup times (~5-10 second longer), you could disable GPU accelerated texture compression. In the Main Menu, Ctrl + Alt + Left Click on Settings button, then go to "The rest", search for gpu-accelerated-compression and gpu-accelerated-mipmap-compression. On the other hand it might not work as uncompressed mipmaps are also generated on GPU, and they don't seem to be corrupted in the GUI.

GamerBene19
Burner Inserter
Burner Inserter
Posts: 5
Joined: Wed Aug 07, 2019 5:29 pm
Contact:

Re: [0.17.63] Textures 'corrupted' after hibernation

Post by GamerBene19 »

Bilka wrote:
Wed Aug 07, 2019 6:44 pm
viewtopic.php?p=144039#p144039
Sorry, I didn't find that post during my search. Next time I'm searching longer ;)
posila wrote:
Wed Aug 07, 2019 7:11 pm
Wellcome to the forums. Thank you for taking the time to write up the bug report. I appreciate all the details you included and that you posted the log too.
No problem that should be the standard in my opinion. It's the least someone can to to help fix the issue he has.
posila wrote:
Wed Aug 07, 2019 7:11 pm
Unfortunatelly, as you can guess from Bilka's response, this is outside of scope of what we want to support.

In particular, it is driver's and OpenGL's job to persist content of textures when GPU resets and normally application doesn't even have any way to detect textures need to be restored. There is an extension that adds ability to detect these problems (ARB_robustness), but as I said, it is not something we are looking into supporting.

Pretty much same deal on Windows. It may work, it may not.
A shame, but I get it.
Also as I mentioned somewhere in my reddit post I don't have a problem with this issue. I already guessed it's not your (the Factorio devs) fault. Especially because there's an easy fix. Since the first time I encountered this bug I just close Factorio before hibernating. I'd have to restart anyway.

Thanks for the info, I'll give an update in my reddit post too, so anyone wondering knows whats up.

GamerBene19
Burner Inserter
Burner Inserter
Posts: 5
Joined: Wed Aug 07, 2019 5:29 pm
Contact:

Re: [0.17.63] Textures 'corrupted' after hibernation

Post by GamerBene19 »

Oh. I missed that answer because I didn't refresh my page. Sorry :D
posila wrote:
Thu Aug 08, 2019 9:25 am
The conclusion is ... if you'd like for the textures to survive hibernation even in cost of longer game startup times (~5-10 second longer), you could disable GPU accelerated texture compression. In the Main Menu, Ctrl + Alt + Left Click on Settings button, then go to "The rest", search for gpu-accelerated-compression and gpu-accelerated-mipmap-compression. On the other hand it might not work as uncompressed mipmaps are also generated on GPU, and they don't seem to be corrupted in the GUI.
Is that a "might work" or a "does work" solution? (I'm asking because I wonder if I should recommend it to the people over on reddit)

I might try it out. But as said - I don't have any problem with restarting Factorio at all.

posila
Factorio Staff
Factorio Staff
Posts: 5202
Joined: Thu Jun 11, 2015 1:35 pm
Contact:

Re: [0.17.63] Textures 'corrupted' after hibernation

Post by posila »

It's "it might work"

GamerBene19
Burner Inserter
Burner Inserter
Posts: 5
Joined: Wed Aug 07, 2019 5:29 pm
Contact:

Re: [0.17.63] Textures 'corrupted' after hibernation

Post by GamerBene19 »

I just tried this out. Here's the results:

Image
Immediately after returning from hibernation

Image
After unpausing the game

It appears to be broken until here, but if you run around/zoom out and in a bit you get this result:

Image

So, everything appears to be normal.

During my returning and waking from hibernation Factorio and(/or) Steam crashed (1 out of 3 times). I'll leave the settings off for now, test their reliability a bit and report back once I've drawn my conclusion.

Thanks for the suggestion and help!

Post Reply

Return to “Duplicates”