TASVideos / tasvideos

The code for the live TASVideos website
https://tasvideos.org/
GNU General Public License v3.0
64 stars 28 forks source link

Publication screenshot scaling #326

Open vadosnaprimer opened 3 years ago

vadosnaprimer commented 3 years ago

For systems that use bigger framebuffer, the publisher would most likely shrink them manually, but for smaller resolution it doesn't seem to be saving any valuable space compared to 1x.

Spikestuff commented 3 years ago

Four issues with this. PAL resolutions are 384x288. 16:9 ratio titles (and the other arbitrary ones that exceed this; see arcade screenshots) DS and the less used 256x384 for screenshots. And Multi-Game TASes.

This should be relied on the Publisher to do it right, not some automative process.

vadosnaprimer commented 3 years ago

I'd be fine with disabling soft-shrinking entirely.

adelikat commented 3 years ago

We don't shrink anything. We just put img tags in html and stuff happens. What I need to know is if this is specific to the new site vs the old site, so I can prioritize it appropriately. Note that I don't really understand the problem or care that much, so less is more when describing it

vadosnaprimer commented 3 years ago

Somehow it does the opposite now. Some pub screenshots are bigger on demo.

image

image

Old size displays them pixel-perfect.

image

image

Tho some movies don't have this problem?

image

I looked at all SNES publications, and the screenshot is only resized for some of them...

Masterjun3 commented 3 years ago

Since we want to support a range of pixel densities, screenshots can't simply be put to 100% pixel width and that's it. They need to be scaled up if they appear on a high density display. And sometimes they even need to be scaled down on small low density displays. Currently, the column they're in resizes to at least the width needed for a 1x scale of the image (unless the surrounding container itself isn't large enough, then it's downscaled). If anything else in the column resizes it even further the image is scaled up to fill the empty space. Missing from the screenshots you've shown is the long text Rating: (Too few votes to display rating) (2 votes) that enlarged the column thus enlarging the images.

vadosnaprimer commented 3 years ago

I agree that it makes sense to resize it depending on pixel density in some cases, but first of all, non-integer scaling should use some pixel art friendly method, because my first screenshot looks really bad.

Also, I don't think scaling screenshots of identical resolution differently, depending on things around them, makes sense. If it's viewed on a high density monitor, it doesn't matter what happens around it, it's just hard to see, so all such screenshots need to be upscaled.

Finally, low pixel density doesn't necessarily mean it's a small display. For example, I can afford seeing pixel-perfect screenshots on my 1440x900.

Masterjun3 commented 3 years ago

So what's the actual issue here? The rescaling is done in the browser with nearest neighbor. Rescaling depending on things around them is necessary for no empty space to appear. We can't design elements around it based on the size of the image, since it needs to work on several pixel densities. (And I never said low pixel density implies a small display.)

This issue might need a new title?

vadosnaprimer commented 3 years ago

Renamed.

adelikat commented 3 years ago

Marking this as future, feel free to disagree with me, but I do not see this as critcial to go-live, or nor a fast follow afterwards

meshuggahtas commented 3 years ago

I'm not sure if this is a relevant issue, but I have problems with pngs looking ugly between 2 monitors I use.

Gif showing my problem: https://drive.google.com/file/d/118sySfkOg7VlCWEhE90_kfstp7VK5oEr/view?usp=sharing

This doesn't happens when I only watch the png files themselves.

Spikestuff commented 3 years ago

Gif showing my problem: https://drive.google.com/file/d/118sySfkOg7VlCWEhE90_kfstp7VK5oEr/view?usp=sharing

Probably correct that link there: image

meshuggahtas commented 3 years ago

Fixed link share permission.

TiKevin83 commented 2 years ago

Related to #182 , if we implemented a server side image renderer the publishers could upload screenshots at original system resolutions and they could be upscaled with an area algorithm to the size needed for the browser (with srcsets for hidpi) similar to my research on rgbscaler.com for video.

Spikestuff commented 2 years ago

I'm just going to suggest this now before it continues. Can you make it an opt in/out feature for when the image is done, for those that are fine with doing those steps outside the site?

vadosnaprimer commented 7 months ago

Yoshi suggested an option to just keep everything at 4x instead and let it downscale.