Build Your Own Arcade Controls Forum
Software Support => GroovyMAME => Topic started by: Foxhole on January 07, 2020, 08:28:04 am
-
Hi, this is not crtemudriver specific but more of an Amd issue.
I've been trying all sorts of ways to reduce lag with OpenGL, registry tweaks and external programs, but unfortunately nothing helped.
It seems that on Amd gpus there is always a high amount of video lag in OpenGL, and it affects every emulator/game that uses it.
On nvidia gpus the lag seems reasonable, but on amd it seems to be higher.
Does anyone have an idea how to reduce the lag that is associated with OpenGL on Amd gpus?
Even Retroarch with Hard Sync enabled still has a high amount of lag, forcing the usage of d3d with the desktop compositor disabled.
This is not Retroarch specific though, this lag is apparent on everything i've tried that uses OpenGL.
Anyone managed to find a way to reduce that lag?
-
Have you tried enabling the runahead feature in RA? It's really a night and day difference in input response, even more responsive than GM. With that enabled there is really no reason you would not see any difference.
-
Runahead is a different thing altogether.
I'm talking about Lag that is associated with OpenGL, not just retroarch.
-
Which CPU do you have?
I don't find any lag in RA (my general config is with "GL" and i have runeahead with NES, SMS and Genesis by 1) In SNES and MSX i have runeahead OFF and don't find LAG anyway...in all systems Hard GPU Sync ON by 0.
I tested with "Pause" method and frame advance, explained -> https://docs.libretro.com/guides/runahead/ and my feeling it's so good...
It's interesting how people notice lag in emulators...with "normal PC" (no Raspberry), GM or RA isn't a problem at all, at least for me... I like to see the same people playing on FPGA/GM or real hardware in a blindy test..
-
Which CPU do you have?
I don't find any lag in RA (my general config is with "GL" and i have runeahead with NES, SMS and Genesis by 1) In SNES and MSX i have runeahead OFF and don't find LAG anyway...in all systems Hard GPU Sync ON by 0.
I tested with "Pause" method and frame advance, explained -> https://docs.libretro.com/guides/runahead/ and my feeling it's so good...
It's interesting how people notice lag in emulators...with "normal PC" (no Raspberry), GM or RA isn't a problem at all, at least for me... I like to see the same people playing on FPGA/GM or real hardware in a blindy test..
My cpu is i7-7700k, but that's beside the point, this is not a cpu issue, it's a buffering issue with OpenGL.
The way you test lag isn't correct for testing buffering, you're only testing the game's internal logic lag.
Just for kicks, try setting retroarch to d3d11 with desktop composition disabled or dwm disabled, compare that to GL.
Set retroarch to d3d11, disable desktop composition, play for about half an hour on a game that you know best, and afterwards set retroarch back to GL, no need for runahead in both cases.
You should be able to notice better response with d3d11 as long as desktop composition or dwm is disabled.
This applies to every other game/emulator i've tested, d3d with desktop composition disabled always results in better response.
-
I tested some RA cores and the most of them not support well D3D11....for example genesis or bluemsx...runs slow or glitching switchres...
My RA config is something old...i think it's 1.7.5 (OCT '18) maybe it's the reason...but i tested SNES and NES and i don't notice any diference with "D3D11" vs "GL" in video_driver
Which SO do you have? I have W7x64 with a GPU 7750 with all GPU related services deactivated...
-
How do you know it's a general AMD issue VS an issue with your set-up or the specific card model?
Input lag on emulators seems to be a somewhat ambiguous thing to quantify or diagnose. It's hard for a lot of people to even perceive differences with things measured in Ms.
I'm not trying to stick up for AMD cards. I'm just curious on how you measured it. I'm not a fan of AMD cards either and would never use one if it wasn't needed for CRT EMU.
-
I'm sorry but i think i made a mistake opening this post since i don't have any scientific ways to prove it.
I also made a small mistake when i was comparing D3D to OpenGL, i should have been more clear, i meant D3D with desktop composition disabled vs OpenGL on AMD.
Don't get me wrong, i still stand by what i said, and personally i can feel the difference, especially comparing to Nvidia GPU, but since i don't have tools to prove it i'm gonna stop it here.
Just to be clear, i've tested this theory for quite some time with several setups, not just one,
I'll even go as far as to say that i'm getting better response on OpenGL with Nvidia GPU (Prerendered frames set to lowest, not sure if it affects OpenGL) + LCD Monitor with 17ms of lag compared to AMD With CRT TV/Monitor.
If and when i get my hands on a tool that can measure this i'll do the testing and post the results.
-
If you suggest a test a can reproduce here I could give it a try with G.I.L.T.
EDIT: Well, actually that wouldn't work unless it's in MAME where we have the supporting script for G.I.L.T.
-
Well I tried to check this input lag thingy since I have been playing Ninja Warriors for weeks on snes under Retroarch with GL driver. So I'm in a quite a shape to feel the difference (if there is any) in this specific game.
I disabled desktop composition in my windows 7 x64 and ran retroarch 1.7.3 snes core using d3d11 driver. Well what can I say, it really does feel now a little bit more responsive in D3D11 compared to GL driver. What surprised me most is that the retroarch is working just fine with d3d11 driver without crashing or glitching.
This really needs further hardware testing. Surely someone on this forum is equipped with hardware to test this out.
My test configuration is:
Core2Duo E8500 4.27Ghz
Radeon 7850 connected to Sony triniton crt via RGB SCART cable.
Windows 7 x64