Dolphin, the GameCube and Wii emulator - Forums

Full Version: GPU artifacts or Dolphin bug?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi all,

I'm noticing a strange behavior in the controller configuration menu in Dolphin. Even if I don't touch any input devices, random elements in the configuration window for controllers will flicker and blink. I tried capturing it but couldn't acquire satisfactory footage. Thankfully the steps to reproduce the strange visual problem and the symptoms themsekves are simple enough that I don't think anyone needs footage to understand what I'm talking about. Simply open the GameCube controller configuration menu and sit still watching the menu. If you don't notice any flickering at all, then I think I have a problem.
Does that only happen in the controller configuration window? If not, it is probably not a Dolphin issue.
Yes it only happens in the controller configuration menu. I really can't imagine it being my graphics card because I just got a new one after my old one needed to be RMA, and I saw the same flickering on that one too.

Can someone please just open the controller configuration menu, let go of their keyboard and mouse and watch for any flickering?
What exactly is flickering? Is it the buttons on which you can click to configure your controllers?

I forgot to say that I don't get any flickering at all.
I reproduced the issue on three different machines running completely different hardware configurations, two of them laptops. It has to be Dolphin. And if you aren't noticing the flickering in the menu, I really don't know what to say. At this point I'm beyond convinced it is not a unique issue to my system.

This is the window I'm talking about:

[Image: nVGA2Cg.png]

Randomly things like the main and c stick boxes, L and R analog, and the a/b/x/y/z/s/m button sections will blink and disappear for a frame or two. It doesn't require me moving the mouse to see it. And like I said, I've seen it on multiple systems, some with AMD GPUs, others with Nvidia. And one with Intel integrated. It doesn't matter. Same issue across the board.
They're supposed to show your control status, such as when you hit one of the buttons or move the stick around. It seems that we don't use a double-buffered image, so it causes flickering when Windows sends a redraw command. Nothing really major, but not pretty either - thanks for reporting this!
(06-28-2016, 08:49 PM)Jack Frost Wrote: [ -> ]They're supposed to show your control status, such as when you hit one of the buttons or move the stick around. It seems that we don't use a double-buffered image, so it causes flickering when Windows sends a redraw command. Nothing really major, but not pretty either - thanks for reporting this!

Ahh that explains it. Yeah it's not a big deal but it made me worry for awhile. I had seen it for the longest time, but always thought it was my confirmed artifacting old GTX 780. Now that I have this 970, and still see the same issue, I was starting to think it had to be Dolphin. Seeing it on the other systems only solidified that theory. Nice to know it was right.

I don't know how to put in reports of issues otherwise I'd do it myself, but if you or anyone does end up submitting this bug report, I think the fix might need to be applied to the entire UI, not just the controller menu. It just happens to be easiest seen there. I think it happens in all GUI elements, I am nearly positive I've seen it in the graphics menu, and probably the main config as well.

Anyways glad to be of help.
It should only happen in there, since we re-draw that image pretty much every time something happens. Other dialogs don't do that. You might notice the redraw issue when you resize and/or move windows around - this is Windows only though, it won't happen on Linux or OSX.
wxWidgets does have some recommendations against using wxStaticBitmap (or anything wxStatic* for that matter) to avoid flickering (or even use a custom control to draw things), but it isn't really a 5-minute-fix, so it hasn't been done yet.