This is the same principle i think this will be better then as wellAcid_Burn9 wrote: ↑Sat Feb 09, 2019 8:40 am Turret range visualization optimized? Great, but look at this!
That's what really should be optimized lol.
Friday Facts #281 - For a Few Frames More
Re: Friday Facts #281 - For a Few Frames More
Re: Friday Facts #281 - For a Few Frames More
Acid_Burn9 wrote: ↑Sat Feb 09, 2019 8:40 am Turret range visualization optimized? Great, but look at this!
That's what really should be optimized lol.
This particular performance issue was also fixed, but differently: 60659
Since roboport ranges are rectangular, it's pretty cheap to find union of rectangles on CPU and draw it without any overdraw. We were already doing that in normal view, but weren't in map view.
- Acid_Burn9
- Inserter
- Posts: 33
- Joined: Sat Feb 09, 2019 8:17 am
- Contact:
Re: Friday Facts #281 - For a Few Frames More
Good to hear that.posila wrote: ↑Sat Feb 09, 2019 9:36 am This particular performance issue was also fixed, but differently: 60659
Since roboport ranges are rectangular, it's pretty cheap to find union of rectangles on CPU and draw it without any overdraw. We were already doing that in normal view, but weren't in map view.
Also was wondering is there any plans to rework this part of the UI? Im not able to see everything, stored in my network. It just goes below the screen. Making UI smaller isnt helping much - everything becomes too small. Maybe some slider to let us scroll this list or something like that?
- Attachments
-
- Снимок экрана (419).png (1.32 MiB) Viewed 8293 times
Re: Friday Facts #281 - For a Few Frames More
Light wrote: ↑Fri Feb 08, 2019 10:49 pm Vanilla without mods loaded in 15 seconds by default and became 7 seconds with the cache enabled. The atlas cache was then created as a 2.38GB file in the Factorio folder.
Enabling my mods it went from 1:37 load time to 1:13. The atlas cache file was 5.94GB.
Those who use mods would need the most improvement compared to the slimmer vanilla. However, given the large file it creates just for a rather lackluster improvement, I'd be hard pressed to recommend that being active by default unless you're getting 5 minute load times (mostly due to sprites) and have an SSD to make the process remotely worthwhile.
Philip017 wrote: ↑Sat Feb 09, 2019 12:39 am vanilla with out mods for me 18 seconds to launch with out cache, with cache 5 seconds.
the file 'atlas-cache.dat' consumes 2.38gb on my drive, located at '%appdata%/factorio' i feel it is easily sacrificed for 13 seconds of launch time.
an option to enable this, in the options menu under graphics, would be nice instead of digging into the config file i never knew about till today.
if this option was enabled by default then more disk space would be used true, however imo most people i doubt they would even notice it missing. but anyone that launches the game repeatably will notice the launch speed difference, if they only knew about it.
I added the option few years ago for development purposes. Back than the game was loading for over 20 seconds on our computers and it was kind of tidious to wait when we were launching the game tens or maybe even 100 times a day.quyxkh wrote: ↑Sat Feb 09, 2019 1:25 am On my HDD box:
cold OS cache, no sprite atlas, seablock, Sprites Loaded at 32.164 sec. Hot cache, 19.923 sec.
cold OS cache, sprite atlas, seablock, Sprites Loaded at 39.854 sec. Hot cache, 13.933 sec.
cold OS cache, no sprite atlas, vanilla, Sprites Loaded at 23.098 sec. Hot cache, 12.269 sec.
cold OS cache, sprite atlas, vanilla, Sprites Loaded at 25.036 sec. Hot cache, 7.110 sec.
My tests showed the game loads pretty much at the same time with atlas-cache enabled but cold filesystem cache, as without atlas-cache, so I decided it wasn't really worth polishing and supporting the feature. From my perspective, people launch the game multiple times in a row (to get benefit from atlas cache being in filesystem cache) are either installing/reconfiguring mods - so their loading time would get worse, as the game would have to build new atlases due to configuration changes AND in addition save the atlases to disk. Or, they are modders who are working on a mod, and they will hopefully find out about the option from wiki or from other mod developers.
So what I mean by polish. If I install 1 GB game on my D: drive, it is unacceptable for it to generate 2+ GB file on my system drive (and quite questionable why it needs so much extra space, in the first place). So, the should be also option to choose where do you want to have it. (We can't really save it always to the Factorio folder, because if you install DRM-free version to Program Files, the game would need to run with administrator rights). The feature needs to handle out-of-space errors gracefully, and other possible IO errors. What if mods blow the cache up over 4GB? Can I assume it is always possible to have files larger than 4GB, or do I need to handle that and split the cache to multiple files? Furthermore, some graphics drivers just crash when I try to load atlases directly from the cache, so we would need to workaround that also.
I've remembered your original post and did some tests. Vanilla atlases with high quality texture compression enabled shrink down from 1 GB to ~350 MB, which is not such an outrageous size to store in AppData; + it could be good to use zstd to compress RAM copy of virtual atlas tiles for texture streaming. But that is more speed sensitive use case so perhaps even faster compression (i.e. LZ4) would be needed for that.quyxkh wrote: ↑Sat Feb 09, 2019 1:25 am Time to read the seablock atlas from disk is 22.5s. The time to decompress a `zstd -1`'d seablock atlas from disk to tmpfs (basically, ram disk) is 6 seconds flat. I'll keep saying it: `zstd -1`ing the atlas caches would get a really dramatic startup-speed boost, even on SSDs.
Re: Friday Facts #281 - For a Few Frames More
Yeah this is a bug that should long have been fixed. Now that they UI seems to be completely overhauled (maybe not the icons, but at least all the panels should be), I do expect they found a solution for it. A scrollbar would be hard because the panel usually disappears when you stop hovering, so they probably found something else.Acid_Burn9 wrote: ↑Sat Feb 09, 2019 10:22 am is there any plans to rework this part of the UI? Im not able to see everything, stored in my network. It just goes below the screen. Making UI smaller isnt helping much - everything becomes too small. Maybe some slider to let us scroll this list or something like that?
Just to make sure: do you know about the logistics network screen? It's opened by pressing L by default. You can scroll and even search in that menu.
- Acid_Burn9
- Inserter
- Posts: 33
- Joined: Sat Feb 09, 2019 8:17 am
- Contact:
Re: Friday Facts #281 - For a Few Frames More
Does it improve startup speed for you? Note that you should try with a cold filesystem cache to simulate how one would usually start it. The operating system keeps anything it reads from disk (or ssd) in memory until it needs the space for something else (that's why more RAM makes your computer faster instead of only allowing you to open more programs at the same time), so if the atlas is already partially (or fully) in memory, then factorio will obviously start faster. But (as posila said), how often do you start factorio when you were playing it recently enough for it still to be in cache? If you want to test if it makes a difference when the OS did not yet cache it, the easiest way is probably to reboot in between to ensure a cold cache:
1. Enable cache in config
2. Start factorio so it can build the cache
3. Reboot and wait a certain time after logging in, until you think it's done loading everything (e.g. 60 seconds)
4. Start factorio and look in the log file how long it took
5. Disable the cache in config
6. Reboot and wait the same amount of time after logging in
7. Start factorio and look in the log file how long it took
So now you have exactly *one* test case for each scenario, which isn't great. If you want to do slightly better science:
8. Reboot and wait the same amount of time after logging in
9. Start factorio and look in the log file how long it took
Now you have two test cases for one of them, so you have some estimate of the variability. Let's say the results of steps 7 and 9 were 12 seconds and 13.5 seconds, so you can safely assume that 1.5 seconds is just random and not the result of any change you made. Knowing that, step 4 should have resulted in significantly more than 1.5 seconds before you can safely say it really made a difference. And then you have to wonder if that difference is even large enough to warrant the extra disk space (which can be gigabytes for some people).
For me, it hardly improves startup time even with a warm cache (no reboots). The improvement is close to the usual variation, and I haven't even tested with a cold cache (it was already clear to me that it's not worth it).
Agreed!Acid_Burn9 wrote: ↑Sat Feb 09, 2019 10:49 amYes i do. But it still not that convenient as the panel we are talking about.
Re: Friday Facts #281 - For a Few Frames More
This is particularly relevant to me as a 980 GTX (non-Ti) on 4K is exactly what I run. Good benchmark choice. Glad to see high res will still be viable for me.We also included a result from one high-performance GPU (GeForce GTX 980 4GB), but this was ran in 4K resolution (3840x2160) as opposed to FullHD.
-
- Burner Inserter
- Posts: 11
- Joined: Fri Jan 25, 2019 8:10 pm
- Contact:
Re: Friday Facts #281 - For a Few Frames More
You can also press L meanwhile.Acid_Burn9 wrote: ↑Sat Feb 09, 2019 10:22 am Also was wondering is there any plans to rework this part of the UI? Im not able to see everything, stored in my network. It just goes below the screen. Making UI smaller isnt helping much - everything becomes too small. Maybe some slider to let us scroll this list or something like that?
I agree though, that list/preview makes only sense for a short while (when your stock is low). Once you put lots of stuff in the network it becomes unviewable.
Not sure how this works together with multiple different networks (hitting L, I mean).
Re: Friday Facts #281 - For a Few Frames More
I tested it with my Bob&Angel Installtion (I used the zip from the Download Section) and it went from "Well, let's take a nap" to "Warp 10" on a pretty old SSD.posila wrote: ↑Sat Feb 09, 2019 10:23 am So what I mean by polish. If I install 1 GB game on my D: drive, it is unacceptable for it to generate 2+ GB file on my system drive (and quite questionable why it needs so much extra space, in the first place). So, the should be also option to choose where do you want to have it. (We can't really save it always to the Factorio folder, because if you install DRM-free version to Program Files, the game would need to run with administrator rights). The feature needs to handle out-of-space errors gracefully, and other possible IO errors. What if mods blow the cache up over 4GB? Can I assume it is always possible to have files larger than 4GB, or do I need to handle that and split the cache to multiple files? Furthermore, some graphics drivers just crash when I try to load atlases directly from the cache, so we would need to workaround that also.
I think it is worth the time to polish this feature. Especially for People with huge Mods/Modpacks installed.
Maybe it's possible to make it somehow exclusive for Mods or even optionally only large Mods?
- 5thHorseman
- Smart Inserter
- Posts: 1193
- Joined: Fri Jun 10, 2016 11:21 pm
- Contact:
Re: Friday Facts #281 - For a Few Frames More
With convenience comes lack of features. With more features comes more inconvenience.Acid_Burn9 wrote: ↑Sat Feb 09, 2019 10:49 amYes i do. But it still not that convenient as the panel we are talking about.
-
- Inserter
- Posts: 32
- Joined: Tue May 01, 2018 7:24 pm
- Contact:
Re: Friday Facts #281 - For a Few Frames More
The noisy BC3 compression reminds me of Radar View.
Good work on these optimizations. It's nice to see devs that care enough to bring the best quality graphics even to the lowliest of GPUs. I remember the days of trying to run games on a $40 gpu. Most of the games I played back then still ran terribly even on the absolute lowest settings if I kept it at 1080p resolution.
Good work on these optimizations. It's nice to see devs that care enough to bring the best quality graphics even to the lowliest of GPUs. I remember the days of trying to run games on a $40 gpu. Most of the games I played back then still ran terribly even on the absolute lowest settings if I kept it at 1080p resolution.
-
- Inserter
- Posts: 45
- Joined: Thu Aug 27, 2015 4:37 pm
- Contact:
Re: Friday Facts #281 - For a Few Frames More
If one builds or buys a PC for Factorio to run megabases, how would the specs be weighted?
CPU
- frequency
- cores
- threads
- branch predicting / speculative execution (I'd build a Kernel with spectre mitigations turned off)
CPU caches
- latencies
- frequencies
- sizes
- associativies
Main memory
- latency
- frequency
- size
If disabling eye-candy is an option (sorry graphic designers), could one get away with not having a dedicated GPU without performance impact?
CPU
- frequency
- cores
- threads
- branch predicting / speculative execution (I'd build a Kernel with spectre mitigations turned off)
CPU caches
- latencies
- frequencies
- sizes
- associativies
Main memory
- latency
- frequency
- size
If disabling eye-candy is an option (sorry graphic designers), could one get away with not having a dedicated GPU without performance impact?
-
- Filter Inserter
- Posts: 292
- Joined: Mon Dec 07, 2015 10:45 pm
- Contact:
Re: Friday Facts #281 - For a Few Frames More
1.
As a GTX-660 owner I'm glad to see this benchmark and seeing it remains (more) playable in v0.17.
2.
I also turned on the cache to disk feature to speed things up. My mother-in-law's computer (I gave her my old computer) really started quite a bit faster with the cache file on (I put an SSD in her machine). So, thanks for that!
As a GTX-660 owner I'm glad to see this benchmark and seeing it remains (more) playable in v0.17.
2.
I also turned on the cache to disk feature to speed things up. My mother-in-law's computer (I gave her my old computer) really started quite a bit faster with the cache file on (I put an SSD in her machine). So, thanks for that!
Re: Friday Facts #281 - For a Few Frames More
I would also really like such an option. Currently, my game runs at about 25-28fps (so everything moves at less than 50% speed) which is a pretty big pain in the bum. I turn off science and only let a few things run on demand (like robot frames, modules, etc.), and that way I can reach just barely 60fps. (A new game runs fine, of course.) If I could just configure it to drop two out of three frames and have the engine run at 60Hz and my screen updating at 20Hz, that would be fine.Fahrradkette wrote: ↑Sat Feb 09, 2019 5:44 pmIf disabling eye-candy is an option (sorry graphic designers), could one get away with not having a dedicated GPU without performance impact?
A simple graphics mode would probably also help a lot, a little like "simple items" in OpenArena. This is what crates normally look like: https://vignette.wikia.nocookie.net/ope ... rson_1.jpg And these are the simple items: https://vignette.wikia.nocookie.net/ope ... tems_1.jpg From the 3d models, it should be possible to algorithmically take a few defining lines (compile-time) and make svg files from them (a lot of sprites can fit in a few kilobytes), and you can enable them by starting `factorio.exe --potato-mode=enabled`, that would help a lot for people that either want to run really huge bases or those who really just have a potato as a computer.
Re: Friday Facts #281 - For a Few Frames More
What if we like using the older, low-rez textures for nostalgia reasons?
Re: Friday Facts #281 - For a Few Frames More
The runs at 25-28 fps bit, but runs at 60 fps if you turn off science sounds like your base has got so large that your cpu is can only run it at 25-28ups, unless large sections of the base are inactive (eg science off, and backed up). A low detail graphics mode won't fix that. Read the following post viewtopic.php?f=7&t=3638#p299295. Then press f4, and enable show time usage. In order to run at 60 fps, the frame cycle time needs to be 16.6ms. If the update part of the game loops takes longer than this, then no amount of graphics optimisation can fix that. (Small possibility of your computer running out of graphics memory, and the graphics card storing textures in vram, and that causing memory contention that is slowing things down).luc wrote: ↑Sat Feb 09, 2019 8:15 pmI would also really like such an option. Currently, my game runs at about 25-28fps (so everything moves at less than 50% speed) which is a pretty big pain in the bum. I turn off science and only let a few things run on demand (like robot frames, modules, etc.), and that way I can reach just barely 60fps. (A new game runs fine, of course.) If I could just configure it to drop two out of three frames and have the engine run at 60Hz and my screen updating at 20Hz, that would be fine.Fahrradkette wrote: ↑Sat Feb 09, 2019 5:44 pmIf disabling eye-candy is an option (sorry graphic designers), could one get away with not having a dedicated GPU without performance impact?
A simple graphics mode would probably also help a lot, a little like "simple items" in OpenArena. This is what crates normally look like: https://vignette.wikia.nocookie.net/ope ... rson_1.jpg And these are the simple items: https://vignette.wikia.nocookie.net/ope ... tems_1.jpg From the 3d models, it should be possible to algorithmically take a few defining lines (compile-time) and make svg files from them (a lot of sprites can fit in a few kilobytes), and you can enable them by starting `factorio.exe --potato-mode=enabled`, that would help a lot for people that either want to run really huge bases or those who really just have a potato as a computer.
Re: Friday Facts #281 - For a Few Frames More
OMG. How is that not in the startup tool tips?Acid_Burn9 wrote: ↑Sat Feb 09, 2019 10:49 amYes i do. But it still not that convenient as the panel we are talking about.
Also: I can't wait for .17!
- bobingabout
- Smart Inserter
- Posts: 7352
- Joined: Fri May 09, 2014 1:01 pm
- Contact:
Re: Friday Facts #281 - For a Few Frames More
Well, it wasn't announced this FFF about it being released, they said they would announce it at least a week before. However, it is still possible that it could be released by the end of the month if they announce it next week.
Re: Friday Facts #281 - For a Few Frames More
well i can tell you i no longer have to take several deep breaths while i patiently wait for factorio to load, after i have closed and relaunched factorio now many times, it opens in under 2 seconds now, if i blink i miss it. i so wish this was an option in the menu, i would have clicked it along time ago, i have plenty of space on my drive. i install factorio on my C: that is a m2 nvme drive, and it saves it's files in the users folder that is also C: so i get a super speedy launch now. so i can't say enough about adding it to the launch options maybe in the graphics area.posila wrote: ↑Sat Feb 09, 2019 10:23 am
I added the option few years ago for development purposes. Back than the game was loading for over 20 seconds on our computers and it was kind of tidious to wait when we were launching the game tens or maybe even 100 times a day.
My tests showed the game loads pretty much at the same time with atlas-cache enabled but cold filesystem cache, as without atlas-cache, so I decided it wasn't really worth polishing and supporting the feature. From my perspective, people launch the game multiple times in a row (to get benefit from atlas cache being in filesystem cache) are either installing/reconfiguring mods - so their loading time would get worse, as the game would have to build new atlases due to configuration changes AND in addition save the atlases to disk. Or, they are modders who are working on a mod, and they will hopefully find out about the option from wiki or from other mod developers.
So what I mean by polish. If I install 1 GB game on my D: drive, it is unacceptable for it to generate 2+ GB file on my system drive (and quite questionable why it needs so much extra space, in the first place). So, the should be also option to choose where do you want to have it. (We can't really save it always to the Factorio folder, because if you install DRM-free version to Program Files, the game would need to run with administrator rights). The feature needs to handle out-of-space errors gracefully, and other possible IO errors. What if mods blow the cache up over 4GB? Can I assume it is always possible to have files larger than 4GB, or do I need to handle that and split the cache to multiple files? Furthermore, some graphics drivers just crash when I try to load atlases directly from the cache, so we would need to workaround that also.
as for polishing it, i would recommend that you try to split the files if there is issues, (bug reports), otherwise leave it alone. if you turn it on default you will get more feedback than if not. you can always give the warning: "Using this feature will add a graphics cache file that will consume a large amount of disk space." but anyone that loves the game will try it and if it works well for them they will appreciate it im sure as much as i do. if you have the time please consider this. thanks again for the great game.
now if only i didn't have to hold my hands together in frustration while the game pauses and takes 30 seconds to save my huge base. totally interrupting my train of thought, or biter attack. i brought this up before but no one seemed to think it was a great idea, but i would really love a 10 seconds to save notification somehow.