New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flickering in some games. #76
Comments
If you run with sync to video enabled, it'll look fine, but there are plenty of other issues there. As for deblinking, I'm not entirely sure what the best way to do that is without making everything look smudged. I can look into it for a future version. |
I've tried it with sync to video enabled and it's still the same. |
I can confirm this issue for the Wii version. Either they're completely visible or completely invisible depending on when the flickering start. Rev used: Oct 10th. |
Just a heads up. Seems to have been solved with that build. |
@ShadowOne333 for 60 fps shadow flicker to not pulse at all would require the host display to be running at 30 fps and not 60 fps. Is the wii version running at 30 fps NTSC instead of 60? |
ZAS is intentionally, it's made for the original DMG, which has the last frame still drawn, so it essentially mixes them both. (That's the famous ghosting, making many action games unpleasant to play.) ZAS uses this quirk to have rich backgrounds, on a DMG, it has both the ships and the background at once. There should be an option like "mix frames" in mGBA to simulate this behavior. If there isn't, then that's the problem. |
Yes, a "mix the current and last frame" option would be great. |
The issue is still present in the latest nightly (0.6-4464-a5f029c). |
"Issue"? It's an intended effect on hardware. The only reason this is still open is so I can remember to add an interframe blending option to imitate hardware ghosting. |
I know this is an old issue, but I thought I would add something that @endrift and others may find interesting. When I switched from playing Boktai on my Android phone to playing it on Windows (both using the mGBA core), the flickering became much more noticeable on Windows. I double checked on my phone, and sure enough, the transparency/flickering effect is quite good under Android. I didn't even give the effect much thought. I don't know any of the specifics, but I remember learning a long time ago that Windows has its own sort of Vsync/framebuffer that it applies to everything running in windowed mode. From personal experience, this effect has been noticeable; I remember having a ton of screen tearing in older games without proper Vsync support, and running them in windowed/borderless windowed solved most of the issues, whereas exclusive fullscreen would bypass this framebuffer, leading to screen tearing. I tried running mGBA in fullscreen, but either it only implements borderless windowed mode, or my having multiple monitors prevented me from trying it in exclusive fullscreen mode. Doing so had no visible affect. In any case, I think this Windows framebuffer is causing the problems here. Windows erroneously trying to sync the frames to the screen's refresh rate are causing some of the flickering effects in GBA games to be skipped. Using the mGBA setting to sync to video does help somewhat, but the improvement is minimal, and it's nowhere near as seamless as on Android. Again, I don't know the full technical details of this, but from what I've seen, I'd say this is a pretty good guess. In summary:
I'm not sure about other consoles that can run mGBA through RetroArch, but if I had to guess, this is a Windows-specific issue. I should note that this may/may not have been an issue in the past for non-Windows systems (this is a 3-year-old issue, after all), however this is my experiences using the latest version of mGBA available through RetroArch and mgba.io. As of this writing, that's the 9-20-2018 nightly build on Windows, and version 0.7-WIP on Android through RetroArch (which is probably the same build, or extremely similar). |
Interframe blending for Qt and SDL versions added in 47bf26f. Wii, Vita, 3DS and Switch implementations forthcoming. Still deciding how I'm going to handle RA. |
A wonderful feature. I tested in Golden Sun and Final Fantasy I & II - Dawn of Souls. Works great. Except... I think I found a bug. Turn on the interframe blending. Then run your mouse cursor over the screen. It seems to interfere with the blending when you do. This is in software and OpenGL video modes both. |
Implemented now everywhere except RA and OpenEmu. |
everytime i tick Interframe blending the screen goes black but music plays (every game) in opengl |
If it helps, my video card is the Nvidia Geforce 750 Ti and I'm working with Windows 10 Home 64-bit Version 1809. |
@CharlesCorrin what version of the drivers do you have? I can't reproduce on my (newer) Nvidia card on Windows. |
Nvidia driver version 26.21.14.3086 , dated May 22 2019. The newest one at this time. I usually get the newest drivers fast. Could the driver be buggy? Oh, and I should describe the alleged bug better. It looks like the frames aren't blending while the mouse cursor is moving across the program window. But when the cursor is still, mGBA blends properly. Test game is Final Fantasy I & II - Dawn of Souls. EDIT: Made a new discovery: With "Sync to video" enabled, the bug is gone completely. |
I encountered driver bugs with an earlier version, but I doubt that's what's going on here. I might need to find a way to log this stuff. |
After the success with 09ccf54 for the other issue, I decided I should test this. The bug I reported in this topic is fixed too. :3 Though I don't know why it is. benderscruffy, how's the one you reported? Fixed or no? |
no it is worse now |
OpenGL force 1.x should be fixed now, as is interframe blending on 1.x. |
This is fixed now in everything except the libretro core, but it's a frontend feature so Retroarch should implement it instead of the cores. |
That is issue #1790, not this one. Do you have an AMD GPU? |
I'm not sure why it would be #1790, since I'm not holding the turbo key (or doing anything turbo related). I have an NVIDIA GeForce. |
I actually have had it without using turbo hold key, but it seems to be more reproduce-able with the turbo. |
For what it's worth, after I created this, I noticed that it was only happening with dialogue at the top of the screen. The dialogue at the bottom didn't seem to have the issue. Though I can't say with absolute certainty that it never did. |
Again, that's #1790, not this. |
Actually, looking at these GIFs again, that might be a separate bug that just affects Advance Wars. It's 100% not this bug, but it may not be that bug either. |
Relevant Advance Wars bug was filed as #1823. |
Some games such as the one in the example above (Boktai) swap between 2 frames quickly to create a kind of pseudo transparency. I'm assuming this doesn't work as intended due to the difference in speed of the GBA's display compared to the monitors we use. Is it possible to implement some kind of interpolation or something to mimic that effect?
The text was updated successfully, but these errors were encountered: