Closed crashGG closed 2 years ago
Please, could you be more specific? What screen resolution are you using? What game is exposing the issue?
Please bear in mind that, regardless the possible issue, aspect ratio is going to be incorrect most of the times when using integer scaling on an LCD.
@antonioginer it also appears that the change causes -uesx
and/or -uesy
to interfere with screenshot size calculation: https://www.reddit.com/r/MAME/comments/ornl22/is_this_a_desired_effect/ (I think that‘s what the user is trying to say there, it’s not a particularly helpful report).
Ok I didn't know about the screenshot issue, but my understanding is that OP is just starting with -nomaximize, then does ALT+ENTER.
Yes, that’s unrelated to the issue reported here – I just wanted to draw it to your attention.
Yes, that’s unrelated to the issue reported here – I just wanted to draw it to your attention.
Thanks for pointing to that, it's an easy fix. In short, all scaling and aspect settings should be turn off for hidden targets, on render target creation. Are there any cases of hidden targets aside of snapshots and video recording that would need any fancy scaling?
I can’t think of any others at the moment.
I'm sorry I didn't write it in detail. This problem affects all games. So I thought everyone had discovered this problem.My operating system is win10 x64 1809, graphics is intel HD 5300, and the LCD display resolution is 1920x1080.
The first example: shadfrce mame 0.233 in window:
press Alt+enter to fullscreen:
mame 0.234 in window:
press Alt+enter to fullscreen:
The 2nd example: sf2 mame 0.233 in window:
press Alt+enter to fullscreen:
mame 0.234 in window:
press Alt+enter to fullscreen:
mame0.233 and 0.234 are in the same mame.ini in mame.ini, I used these personalization options: window 1 maximize 1 unevenstretch 0
I think these settings are very good. Because in the case of integer scaling,all pixels can be displayed on the screen point-to-point, which can bring the sharpest images and characters to the LCD screen without edge blur. As for the price, some areas around the screen are lost. But if the screen is big enough, who cares。And most games can achieve the correct ratio under these settings。Like the cps1 cps2 cps3 series machines, the native ratio is not 4:3 (384:224). After these settings, mame intelligently scales the horizontal pixels by 3 times and the vertical pixels by 4 times on my screen, reaching a close to 4:3 Ratio (actually 9:7)
Confirmed here. Let me do some checks.
I think these settings are very good. Because in the case of integer scaling,all pixels can be displayed on the screen point-to-point, which can bring the sharpest images and characters to the LCD screen without edge blur. As for the price, some areas around the screen are lost. But if the screen is big enough, who cares。And most games can achieve the correct ratio under these settings。Like the cps1 cps2 cps3 series machines, the native ratio is not 4:3 (384:224). After these settings, mame intelligently scales the horizontal pixels by 3 times and the vertical pixels by 4 times on my screen, reaching a close to 4:3 Ratio (actually 9:7)
You can actually have sharp pixels without blurring and the correct aspect ratio if you set prescale to 4 in mame.ini.
Is this issue being worked on? As of MAME 0.236 the image is really stretched when it shouldn't be. This is for the X68000 running castlevania. Its so stretched even though uneven stretch is off.
@Rugaliz Do you have "Correct aspect ratio" turned on?
Is this issue being worked on?
Yes, it's being worked on. I'll address this as soon as I have some time.
In the meantime, you should probably use -unevenstretchx instead of full integer scaling, that doesn't make much sense on LCDs, specially if you're passing the picture through filters as it looks like you are.
Hi everyone, glad to see this issue has been noticed and being addressed, thanks a lot to the devs, namely Antonio Giner for the last update here. For my part I posted about this issue a few weeks ago on reddit, and found a workaround by applying these settings :
unevenstrech 0 keepaspect 1 autostretchxy 1
Basically, simply by adding the last additional parameter to the existing ones, which is autostretchxy 1, you will obtain identical results in 0.235 and 0.236 as you did before with just the first two usual flags. I do not have the possibility of making screencaps right now from where I am, but just try it folks, you'll see it work wonders. That would be an interesting stop-gap until this is fixed. I tested with both Horizontal and Vertical games, and the setting work.
I did so following advice from a MAME developer called "Cuavas", who pointed me to this ticket by Antonio himself, dating back June '21. I just noticed by willing to link it here. For reference, here it is : https://github.com/mamedev/mame/pull/8209
Oddly, from my interpretation of this ticket, the new behavior would have been a "logical one" past 0.234 , since according to Cuavas, and I adhere to his claims after thinking it through a bit, it is not feasible to obtain correct , pixel-perfect, integer X and Y axis when trying to adapt both from an "exotic" original ratio. So it seemed in the end an expected requirement to have one of the axis non-integer (usually the X axis, vertical compliance to 240p being of paramount importance to ensure correct scanline shape, number and position for any given game), hence the "new" need to add the autostretchxy, which will make a fractional X or Y depending on the screen orientation and what the X and Y are with regards to monitor lines.
Perhaps tangentially related; seeing cropping of vertical games with -autostretchxy on a 2560x1440 monitor that does not happen on a 1920x1200 monitor.
mame puckman -nofilter -autostretchxy -verbose -norc
Mame Testers bug: https://mametesters.org/view.php?id=8110
Hi john-iv,
good call, I have the same issue for some vertical games as well. I can confirm this is related in my case too. Went through your mametesters bug report, and can confirm the cropping along X for some vertical games. Those indeed require not autostretchxy 1 to be sized properly but unevenstretchx 1
Best way is to experiment "live" by using MameUI's in-game video options. They indeed allow you to change this specific set of core video option flags on the fly and see immediate results per game while its running. This is what helped me a great deal in finding a workaround to the current situation quite quickly. one of the main reasons that build of Mame has always had my preference for years, even though command line always comes handy.
Hi, this is just a heads up in case it went unnoticed, I made a PR https://github.com/mamedev/mame/pull/8961 to fix all issues reported here and probably others.
Although I tested it extensively, it'd be appreciated if someone else could try it too to see if it works as expected in their case.
Would you mind making a Win x64 .exe available and I can check my use cases. Thanks -
Would you mind making a Win x64 .exe available and I can check my use cases. Thanks -
you can download the CI windows build artifact, I'd imagine, @john-iv : https://github.com/mamedev/mame/suites/4760739483/artifacts/132222093
Thanks Stiletto, this build does indeed address my issues reported above. No more cropping w/ -autostretchxy on certain vertical games, esp. pacman and dkong.
I can't reproduce any unwanted cropping anymore, either. Great work!
When setting “unevenstretch 0” in mame.ini, the window playback looks good, but the ratio is wrong when switching to fullscreen.The same setting is normal in 0.233 and previous versions. I think the integer scaling is very useful. A perfect point-to-point display effect can be achieved on modern LCD screens. Please fix it.
Attach my settings file, I think anyone can reproduce this pro mame.ini.zip blem.