If you aren’t zoomed in and you use the /screenshot command to take a high-resolution screenshot, it will still use some low-resolution sprites. Here’s /screenshot 1280 720 2 after loading a save and remaining at 1x zoom level:
Note how the train and circuit wire attachments are all blocky. Here’s the same command after zooming in first:
All sharp now!
[0.17.66] /screenshot x y 2 doesn’t force hires sprites
[0.17.66] /screenshot x y 2 doesn’t force hires sprites
- Attachments
-
- factorio-current.log
- (4.38 KiB) Downloaded 71 times
Re: [0.17.66] /screenshot x y 2 doesn’t force hires sprites
Thank you for taking the time to post the bug report.
Moving to minor issues for time being.
It is caused by texture streaming having limit on how much time it can spend on streaming in textures per frame, and the fact taking screenshot doesn't have it's own render logic that would make change streaming limits. On the other hand, I didn't make the special logic on purpose, because main purpose of screenshoting is to make preview for save file, which needs to be done as fast as possible anyway (plus possibly evicting bunch of textures that were needed to render game view, just to make preview image, would not be nice). I suppose it is more desirable for /screenshot command to produce the best quality image rather than to produce an image quickly. Possibly for Lua api function too.
Moving to minor issues for time being.
It is caused by texture streaming having limit on how much time it can spend on streaming in textures per frame, and the fact taking screenshot doesn't have it's own render logic that would make change streaming limits. On the other hand, I didn't make the special logic on purpose, because main purpose of screenshoting is to make preview for save file, which needs to be done as fast as possible anyway (plus possibly evicting bunch of textures that were needed to render game view, just to make preview image, would not be nice). I suppose it is more desirable for /screenshot command to produce the best quality image rather than to produce an image quickly. Possibly for Lua api function too.
Re: [0.17.66] /screenshot x y 2 doesn’t force hires sprites
I’d argue that a manual /screenshot is actually for quality. It makes it easy to get the scale just right, and lets you use obscene resolutions that are very much not fast. But that’s okay because I presume you’ll get to it when more important bugs are out of the way.
Re: [0.17.66] /screenshot x y 2 doesn’t force hires sprites
Does this mean that if the higher resolution sprites are set to be used, the game is always loading the low resolution sprites as well? If so, will that be changed once there's an HR version of every sprite?
Re: [0.17.66] /screenshot x y 2 doesn’t force hires sprites
No, see Virtual texture mapping: https://www.factorio.com/blog/post/fff-264
Virtual atlas has levels of detail - mipmaps - which are generated from source spritesheets (which are either high-res or normal-res depending on graphics settings), and the engine streams-in whatever level of detail is needed, but does it overtime.