VOGONS


Fullscreen input lag

Topic actions

First post, by 2mg

User metadata
Rank Member
Rank
Member

So, most games that run in DgVoodoo Fullscreen have input lag (floaty mouse), in my personal experiences.

Tricks I tried:

- Forcing low number of queued frames in GPU settings doesn't help (now called Low Latency Mode in NV panel).

- Disabling Win10's Fullscreen Optimizations for that game doesn't help.

- Trying a Fake Fullscreen hidden option in DgVoodoo doesn't actually force Fullscreen games into Windowed mode as it implies, if it did, the input lag would be the same as running that game in Windowed mode.
Maybe the final rendering window of DgVoodoo is an actual window, but the "content" is being handled like Fullscreen - if this is even the case.
Don't see the difference between Fake Fullscreen and "regular" stretch + aspect Fullscreen.

- DgVoodoo offers Presentation Model options, where Legacy (non-Flip) modes seem a bit smoother than Flip modes.

However, if a game can be run in natively Windowed (or forced) with DgVoodoo, and if it works, it's the smoothest mouse experience possible.

Two issues arise here:

1. Some old games just don't want to work Windowed, or at the very least, they appear as a tiny window on the desktop - that's even if you enable Borderless and/or Fullscreen size for Windowed options under "GeneralExt" hidden options. Try Lego Rock Raiders in Windowed + DgV 2.79.3 for example.

2. Windowed mode also means there is no mouse sensitivity/mouse speed change, as it's supposed to stretch/fill (with or without aspect ratio preservation) the desktop.
Fullscreen modes always result in mouse being way faster since that low resolution is the entire desktop/screen, and the older the game, the less mouse options it has, usually.

I'm putting this here for posterity, but in hope maybe someone had similar issues and knows how to fix this.
I really like DgVoodoo, and it was essential for me in some scenarios, however, this issue always plagued me.

Reply 1 of 11, by ZellSF

User metadata
Rank l33t
Rank
l33t

There's two bits of key information missing here:

1) You think dgVoodoo is laggy, compared to what?

2) What are your V-sync and triple buffer (Fast sync in Nvidia) settings? That's the main influence on how much input lag games have. Windowed mode enforces triple buffered V-sync.

Edit: also Lego Rock Raiders works fine for me in Windowed mode with Borderless/Fullscreen size set. Well it has a mouse issue, but not the issue you mentioned.

Reply 2 of 11, by 2mg

User metadata
Rank Member
Rank
Member
ZellSF wrote on 2022-10-15, 10:44:
There's two bits of key information missing here: […]
Show full quote

There's two bits of key information missing here:

1) You think dgVoodoo is laggy, compared to what?

2) What are your V-sync and triple buffer (Fast sync in Nvidia) settings? That's the main influence on how much input lag games have. Windowed mode enforces triple buffered V-sync.

Edit: also Lego Rock Raiders works fine for me in Windowed mode with Borderless/Fullscreen size set. Well it has a mouse issue, but not the issue you mentioned.

1. I'm not directly blaming DgVoodoo, don't get me wrong, it deals with bizzare frames/paced games and old tech, and so on, but whenever I could put a DgVoodoo game in WIndowed, it was much more responsive/smoother mouse-wise. I don't have anything recent to compare it to, last two games were a sprite based RTS, and a 3D rendered RTS, both had sloppy mouse, you can feel it drift after your hand moves. That was generally my issue with DgVoodoo since I've known about it.

2.) Win10 can handle flip modes/presentations to render a non-exclusive Fullscreen with minimal Vsync lag (at least that's what the paper says), plus there is disabling FSO to actually make it like it behaved in past Windows versions. My Vsync isn't forced at all in NVpanel, and Low Latency Mode is on Ultra. I know some games dislike that option, but generally it's a good setting for me.

I apologize if I came harsh on it, it's a beautiful program.

Reply 3 of 11, by ZellSF

User metadata
Rank l33t
Rank
l33t

Sorry for the late reply to this, but:

My point wasn't whether or not dgVoodoo was to blame, but without anything to compare it to, there's no way to say it does anything wrong or that there is anything to fix.

If windowed is faster then it's probably v-sync related, have you tried forcing fast sync (vertical sync setting) in Nvidia settings?

Reply 4 of 11, by 2mg

User metadata
Rank Member
Rank
Member
ZellSF wrote on 2022-10-27, 15:21:

Sorry for the late reply to this, but:

My point wasn't whether or not dgVoodoo was to blame, but without anything to compare it to, there's no way to say it does anything wrong or that there is anything to fix.

If windowed is faster then it's probably v-sync related, have you tried forcing fast sync (vertical sync setting) in Nvidia settings?

I've tried everything, I know old games had low FPS and that felt floaty, I know about turning DWM/Aero in older Windows to be 200% there isn't Vsync, I tinkered in the "hidden" tab of DgVoodoo until something broke, I dunno.

I remember I got Beasts & Bumpkins to work almost flawlessly (very minor artifacts now and then) in DxWnd, but I had to go there because DgVoodoo couldn't properly keep the cursor inside the game (was fixed in other thread), but from the very start there were floaty/stuttery issues compared to DxWnd.

Remember, I'm here to be civil, not to bash on DgVoodoo.

If you can recommend me a game(s) that has a modern Windows patch to try it out, and then to try the unpatched in DgVoodoo, I'd appreciate it.

Also, as I said, Lego Rock Raiders with OpenLRR work awesome, in DgVoodoo if you even get them running, it's like the mouse gets a few buffered frames. Maybe that's how it was, and OpenLRR actually improves on it.

Reply 5 of 11, by Dege

User metadata
Rank l33t
Rank
l33t

Just a very quick comment on this: keep in mind that if resolution is forced (or does not match the native (desktop) resolution) or the scaling mode is not set to 'unspecified' then dgVoodoo emulates the cursor in software.
So, its speed will align with the current FPS. If you want a super responsive cursor then either play the games in your native resolution in order to let the real hardware cursor be working or play it with uncapped (no-vsync) mode to let the software cursor be drawn as many times as possible per second.

Reply 6 of 11, by 2mg

User metadata
Rank Member
Rank
Member
Dege wrote on 2022-12-21, 20:27:

Just a very quick comment on this: keep in mind that if resolution is forced (or does not match the native (desktop) resolution) or the scaling mode is not set to 'unspecified' then dgVoodoo emulates the cursor in software.
So, its speed will align with the current FPS. If you want a super responsive cursor then either play the games in your native resolution in order to let the real hardware cursor be working or play it with uncapped (no-vsync) mode to let the software cursor be drawn as many times as possible per second.

Might giving me a game or few to test this out?

Reply 7 of 11, by mirh

User metadata
Rank Member
Rank
Member

To know which "actual final rendering" the DgVoodoo window has, you can use PresentMon you know.

pcgamingwiki.com

Reply 8 of 11, by Dege

User metadata
Rank l33t
Rank
l33t
2mg wrote on 2022-12-22, 00:00:
Dege wrote on 2022-12-21, 20:27:

Just a very quick comment on this: keep in mind that if resolution is forced (or does not match the native (desktop) resolution) or the scaling mode is not set to 'unspecified' then dgVoodoo emulates the cursor in software.
So, its speed will align with the current FPS. If you want a super responsive cursor then either play the games in your native resolution in order to let the real hardware cursor be working or play it with uncapped (no-vsync) mode to let the software cursor be drawn as many times as possible per second.

Might giving me a game or few to test this out?

It is the case with any game, if the scaling mode in dgVoodoo is set to e.g. "Stretched, keep aspect ratio" and the game resolution is not the same as that of your desktop.

1) Take any game that's not capped by v-sync by default and running at high FPS's (like 100+ or 200+) and try it with the criteria above met. Even the software cursor should be smooth. Now try the same with forced v-sync in dgV config, and you'll feel that the cursor is lagging a bit due to tied to the capped 60 FPS.

2) Another good example is NOLF2 loading screens. When the game loads the next level then it updates the screen infrequently at a low FPS (5-10-20 or such). So, if the cursor is emulated then it will move very jerky when moving the mouse during a loading screen. However, if you play the game with the resolution set to your native resolution then the cursor will always move smootly independently on the screen refreshing because you have a true hardware cursor in that case.

Reply 9 of 11, by 2mg

User metadata
Rank Member
Rank
Member
mirh wrote on 2023-01-10, 20:04:

To know which "actual final rendering" the DgVoodoo window has, you can use PresentMon you know.

Interesting, thank you.

Dege wrote on 2023-01-15, 11:32:

It is the case with any game, if the scaling mode in dgVoodoo is set to e.g. "Stretched, keep aspect ratio" and the game resolution is not the same as that of your desktop.

Most of the games I tried do not support forced resolutions (usually 640p or 800p is their max and/or the only one possible), so I must use some type of scaling/stretching, either to a (Fullscreen) Borderless Window or True Fullscreen.
There is the option not to use the stretching in True Fullscreen and let the monitor/GPU handle scaling but that's a bit gimped approach.
And using simply a window that isn't stretched is pointless, everything is too small.

1) Take any game that's not capped by v-sync by default and running at high FPS's (like 100+ or 200+) and try it with the criteria above met. Even the software cursor should be smooth. Now try the same with forced v-sync in dgV config, and you'll feel that the cursor is lagging a bit due to tied to the capped 60 FPS.

Thing is, I dunno if game itself (and because they're old there is usually no settings or configs) is rendering natively at 25, 30, 60, 75fps (Doom for example) and so on, or applying Vsync by default. Old games are weird in that aspect.

2) Another good example is NOLF2 loading screens. When the game loads the next level then it updates the screen infrequently at a low FPS (5-10-20 or such). So, if the cursor is emulated then it will move very jerky when moving the mouse during a loading screen. However, if you play the game with the resolution set to your native resolution then the cursor will always move smootly independently on the screen refreshing because you have a true hardware cursor in that case.

That's kinda the issue - maybe NOLF2 can be forced into rendering in modern resolutions, but a bunch of old games are stuck in 1024p or less.

Reply 10 of 11, by De-M-oN

User metadata
Rank Newbie
Rank
Newbie

Doom runs on a 35 tickrate and the tickrate is tied to the fpsrate so that the game's max fps is 35 and the gamespeed decreases when you fall lower.
I highly recommend using a sourceport like GZDoom for Doom though.

Reply 11 of 11, by UCyborg

User metadata
Rank Member
Rank
Member

It must have been years since I last used dgVoodoo (I rarely play games these days), but I always found mouse to be more responsive running games with native, legacy D3D. I assumed back then it must be native/legacy D3D vs. modern D3D thing. Windowed mode, well, last time I used an OS without a compositor as a daily driver was cca. 15 years ago (Windows XP). I always used newer systems with compositor enabled, so due to compositor's VSync, mouse would always be less smooth. Didn't really matter since I never really used windowed mode for actual gameplay.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.