Page 1 of 1

[0.7.1] video ram minimum 512mb

Posted: Fri Oct 11, 2013 6:44 pm
by ssilk
Searched now 2 hours why I'm on my Mac wont be able to play it after update to 0.7.1.

Reason is, that I have internal a Radeon with 256 MB.

The following happens: game starts, looks normal. Then, when opening inventory with E the grafix is destroyed.

Then I remembered https://forums.factorio.com/forum/vie ... &hilit=512

I mean this is some like a bug, because it happens to everyone, who bought the game and now wondered. A warning would be useful, a reduced grafix that it is possible to play with low ram would be great.

Should be also mentioned before buying it.

Luckily I've a pc at home.... ;)

Edit: forget title, added

Re: [0.7.1]

Posted: Sat Oct 12, 2013 8:53 am
by MF-
I just checked.. my Intel graphics card also has 256MB of GPU RAM.
I guess I won't be able to check the huge advancements of factorio.

Re: [0.7.1] video ram minimum 512mb

Posted: Sat Oct 12, 2013 8:09 pm
by n9103
Did you try the Low FPS mode?

Re: [0.7.1] video ram minimum 512mb

Posted: Sat Oct 12, 2013 9:43 pm
by kovarex
The easiest solution that I can think of is a mod.
It would be installed (activated) the exact same way as any other mod, it would contain low res sprites/less rotations/less frames, and it would modify the base data to use those instead.
The disadvantage would be, that later with multiplayer or replays, people with/without this mod would be incompatible.

Re: [0.7.1] video ram minimum 512mb

Posted: Sat Oct 12, 2013 11:25 pm
by ssilk
I mean now this is a good solution and for the future I think that there are many more solutions possible. E. g. core mods, which doesn't count as "modification" but as graphics-style. Or a clever zooming mode, or a we version of a library... Who knows?

Re: [0.7.1] video ram minimum 512mb

Posted: Sun Oct 13, 2013 4:20 pm
by MF-
kovarex wrote:The easiest solution that I can think of is a mod.
It would be installed (activated) the exact same way as any other mod, it would contain low res sprites/less rotations/less frames, and it would modify the base data to use those instead.
The disadvantage would be, that later with multiplayer or replays, people with/without this mod would be incompatible.
I guess I would settle for the "original high-constast pack" if I get the option.
(Says a person who didn't even check whether 0.7.x really out-of-gpu-RAM crashes and thus hasn't seen it)
What are the skills required for making that happen?

Re: [0.7.1] video ram minimum 512mb

Posted: Sun Oct 13, 2013 4:41 pm
by kovarex
MF- wrote:What are the skills required for making that happen?
Nothing special, but it would be hardly done, until we complete the entity prototype specification (https://forums.factorio.com/wiki/inde ... efinitions)

Re: [0.7.1] video ram minimum 512mb

Posted: Mon Oct 14, 2013 7:13 am
by SilverWarior
kovarex wrote:The easiest solution that I can think of is a mod.
It would be installed (activated) the exact same way as any other mod, it would contain low res sprites/less rotations/less frames, and it would modify the base data to use those instead.
The disadvantage would be, that later with multiplayer or replays, people with/without this mod would be incompatible.
Such solution would not be curently posible. Why? Did you forget that Factorio loads all the graphic right on the start?
Sorry for saying this like so but do you remember me suggesting that you change the way how factorio graphics are being loaded some time ago?
The reason why I sugested this is becouse I anticipated that sooner or later you will encounter the fact that some pepole will run out of Graphical memory. This is especially quite common in games which alow easy modding.

For instance I remember when players of Kerbal Space Program started expiriencing unexpected crashes when having bunch of mods installed. At first most of them thought that those crashes are result of bad or incompatible mods but they were actually caused by game running out of graphical memory (it also loaded all the graphics on world load no matter if they were needed or not). And I was probably one of the first pepole that figured that out. With profiling game and seing how much graphical memory some of the mods require, how changing of graphical settings affect graphical memory usage, I managed to recomend some temporary workarounds so pepole could still play KSP. In the end it all resulted in KSP developers to rewrite whole ingame resource managment to reduce both RAM and graphical memory usage of KSP.

So in order for your idea to work you will have to change the way how graphical resources are loaded so that at the application start you only load graphics necessary for main menu but then later you load all other graphic necessary for gameplay. Another advantage of this is that you can only load tthose graphics that are needed for those mods that needs to be active for current gameplay.

Re: [0.7.1] video ram minimum 512mb

Posted: Mon Oct 14, 2013 7:40 am
by kovarex
Hello, I agree, that some more dynamical graphics loading might be useful, but at this point, this is not needed, I will explain why.

First of all, the game runs all the data scripts of all mods, these will create/modify all the prototype definitions. (In this phase the low-res mod would modify game objects to use lower graphics).
When this all is done, the game takes these prototype definitions, and loads all the graphics specified by it, and tries to fit all the graphics needed into least possible amount of atlases to fast render in-game.

Inactive mods have no effect on the game, as their data script is not executed (it is like these were not there at all).

To the resource management:
As long, as the computer can fit all the graphics into the video memory, it is the best if these are there and loaded at start, as it maximises the render speed.
If this is not possible, there are different possible strategies.
  • The low res mod mentioned earlier
  • Dynamic resource loading, just the most used and important sprites would be moved to one part of the video memory. The second part of the video memory would be something like "cache", and it would contain only sprites recently needed. These would be stored in the ram.

Re: [0.7.1] video ram minimum 512mb

Posted: Mon Oct 14, 2013 8:50 am
by SilverWarior
kovarex wrote:First of all, the game runs all the data scripts of all mods, these will create/modify all the prototype definitions. (In this phase the low-res mod would modify game objects to use lower graphics).
So how will you determine when low-res mod needs to be loaded and when regular one does.
Also since this might be afected by curent active mods you will need to restart the game whenever a player enables one of previously disabled mods.

kovarex wrote:As long, as the computer can fit all the graphics into the video memory, it is the best if these are there and loaded at start, as it maximises the render speed.
Yes I agree with you on that.
But you don't need to load ingame graphics just to show main menu. These should only be loaded just before starting a new game or loading existing one. And you can then keep them loaded until the game exit or until you disable certain of existing mods whose graphics have already been loaded.

And no I wasn't refering to dynamical graphics loading but instead spliting existing one into two stages.
While dynamic graphic loading will generally lower the overal graphical memory consumption but it still won't solve the problem of peepole runing out of graphical memory as it still might peak to current requirements or even more. Also it is quite hard to implement.

Re: [0.7.1] video ram minimum 512mb

Posted: Mon Oct 14, 2013 9:19 am
by kovarex
SilverWarior wrote:So how will you determine when low-res mod needs to be loaded and when regular one does.
Also since this might be afected by curent active mods you will need to restart the game whenever a player enables one of previously disabled mods.
At this moment, you have to restart the game when you change mod configuration anyway.

Re: [0.7.1] video ram minimum 512mb

Posted: Mon Oct 14, 2013 11:06 am
by SilverWarior
And with the system I recomends you won't have to. And that can be big advantage.

For instance now you can have next scenario:
When a player enables one of previously disabled mod so he is forced to restart Factorio. And it is posible that after enabling this mod he will ran out of graphical memory which wil result either in some of graphics missing or error "unable to create atlas bitmap". And if he wants to play Factorio again he will have to either disable one of the mods manually by editing game files in order to reduce graphical memory consumption or he might go and reinstal whole game which might not solve the problem if old settings remain.
In any case it will be utmost unpleasant expirience for him.

How about next scenario:
Player wanted to enable one of the mods but he actually enabled another one by mistake. He is now forced to restart the game several times.

And the biggest advantage about using my approach is that you would be able to automatically load needed mods for each save game.

Re: [0.7.1] video ram minimum 512mb

Posted: Mon Oct 14, 2013 11:20 am
by ssilk
I see that loading in game as nice to have. What really bugs is, that players with less ram cannot play. Currently I would be glad if a requester pops up, with some text, which file I need to change and I think, everyone else too.

Re: [0.7.1] video ram minimum 512mb

Posted: Tue Oct 15, 2013 10:40 pm
by kovarex
Hello, so this is the solution:
  • There is graphical option "low graphics" in 0.7.2
  • When the option is set, all sprites that are bigger than 32 pixels and marked with medium/low/very low priority are scaled down to one half.
  • I rechecked the priority settings of individual sprites and succeeded in making the video memory consumption demand 1/3 of the current one with the option.
  • The game doesn't look as bad as I expected
  • When the player starts the game and he gets the error with not enough video memory, the option is automatically turned on, and the message says to try to start the game again. (as long as it is not turned on already, he gets message to get better card or report the error in that case ^^)

Re: [0.7.1] video ram minimum 512mb

Posted: Wed Oct 16, 2013 2:38 am
by ssilk
Very cool. If it works. ^ ^ We'll see. :)