ppy / osu

rhythm is just a *click* away!
https://osu.ppy.sh
MIT License
15.06k stars 2.23k forks source link

Map image background sometimes still visible when video bg doesn't have a 16:9 aspect ratio #28990

Open yttrbium opened 1 month ago

yttrbium commented 1 month ago

Type

Cosmetic

Bug description

I would like to preface by reitterating that this report applies to beatmaps with background VIDEOS, not storyboards. Right before submitting this I found a report of a similar issue (https://github.com/ppy/osu/issues/28928) that applies to beatmaps with storyboards. It's possible that these issues are being triggered in the same way, but I decided that this should still be it's own report because: a) There are factors in play that are only present with storyboards, and others that are only present in videos which affects whether or not this issue even arises. b) I'm unfamiliar with lazer's codebase, it's possible that background videos and storyboards are handled on 2 entirely different processess sharing practically no code whatsoever and just happen to both run into similar issues.

Some beatmaps (mostly ones uploaded when 4:3 monitors were still standard) contain background videos that don't align with a 16:9 aspect ratio. In both stable and lazer, the image background is scaled to fill the entire screen, and the videos are played at their original aspect ratio. There appears to be 2 cases followed in this scenario, I am unsure what it is that determines which case is used.

The first case is that the video scales to fill the entire screen, this leads to some of the video not fitting onto the screen, but leaves no empty space in the background. This case appears to cause no issues in lazer. There are a couple maps I've found that display this behavior: https://osu.ppy.sh/beatmapsets/1785#osu/21010 https://osu.ppy.sh/beatmapsets/7385#osu/31819

The second case is that the video scales to fit inside the screen, this leads to some of the background remaining unfilled by the video. In stable this is handled first by rescaling the image background to fit inside the screen (which in all cases I found happen to be the same aspect ratio as the video), then fading the video background in. In lazer, the image background is not rescaled, resulting in the image background remaining visible on areas of the screen that the video does not fill. There are a couple maps I've found that display this behavior: https://osu.ppy.sh/beatmapsets/15920#osu/58063 https://osu.ppy.sh/beatmapsets/5807#osu/27637

The attached video compares the background behavior for case 2 in Stable v20240513.1 and Lazer v2024.718.1 in DJPop's 'SOLO' diff of 'Night of Knights' (https://osu.ppy.sh/beatmapsets/15920#osu/58063).

My computer is running on windows 10, I have not tested this on any other machines. Also apologies if the sparse log files are any issue, my boot drive corrupted trying to update windows a couple weeks ago so my installation is still fairly fresh.

Screenshots or videos

https://github.com/user-attachments/assets/58f09d31-90c3-4b34-a4df-adf099463aba

Version

2024.718.1

Logs

compressed-logs.zip

tadatomix commented 1 month ago

The first case is that the video scales to fill the entire screen, this leads to some of the video not fitting onto the screen, but leaves no empty space in the background.

This, I think, because everybody had 4:3 screens, at that time and widescreen mode in those versions worked slightly different. So nobody bothered to make 4:3 videos fit to the screen by height, instead, deciding to crop them to fit to the screen by width, after. Hoping that lazer will fix this too.

The second case is that the video scales to fit inside the screen, this leads to some of the background remaining unfilled by the video.

I think it worked in stable, as you showed, because it's all depended on this setting, stable had. ZTaOiiQrgH Plus, Nights of Knights had storyboard, which can be seen by English text, next to Japanese speechbubbles.

Also, thanks for mentioning my issue. Yeah, I think we both have kinda similiar problem. I could also add that some storyboarded videos looks even more strange. Where stable adds black background, behind them, lazer leaves it untoched, causing this:

osu_2024-07-22_03-24-21 osu!lazer

screenshot1089 osu!stable

peppy commented 3 weeks ago

Probably duplicate of https://github.com/ppy/osu/issues/28928.

tadatomix commented 3 weeks ago

Probably duplicate of #28928.

I don't think so, since it's more related to videos on the beatmap, rather than storyboards. My issue was related to storyboards, more