VOGONS


First post, by 2mg

User metadata
Rank Newbie
Rank
Newbie

dgvoodoo 2.72, Win7x64, and the game is an 1997 title (prolly before DX7).

If fullscreen, the game seems a stuttery, kinda like having uneven 25FPS.
Tried "Fast video memory access", can see only menu boxes, all else is black.

If windowed, the game is smooth, but I simply can't make the mouse stay inside the game's window.
I tried with "Mouse capture", "free mouse", "center app", all the hidden fake fullscreen settings (which is smooth btw).

I can confirm that dxwnd can properly lock the mouse in windowed mode, and it's smooth, so I'm trying to figure what's wrong with dgVoodoo's mouse capture.

Reply 2 of 17, by Dege

User metadata
Rank l33t
Rank
l33t

Is there any trick to get this game to run on Win10?
I ran the setup in Win95 compatibility mode to avoid 'maptile.mfb' error message, but even doing this, the game gets stuck after the initial loading screen (and before the main menu I think).

Btw, dgVoodoo doesn't capture mouse in windowed mode.

Reply 3 of 17, by 2mg

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on 2021-02-09, 17:52:

Is there any trick to get this game to run on Win10?
I ran the setup in Win95 compatibility mode to avoid 'maptile.mfb' error message, but even doing this, the game gets stuck after the initial loading screen (and before the main menu I think).

DXWND can play it if you install it in W95 mode. You can remove W95 from game's exe.

beasts_bumpkins_dxwnd.png
Filename
beasts_bumpkins_dxwnd.png
File size
192.49 KiB
Views
687 views
File license
Public domain
Dege wrote on 2021-02-09, 17:52:

Btw, dgVoodoo doesn't capture mouse in windowed mode.

Well, as I said, fullscreen - stutters/iffy FPS, and dgVoodoo's fake fullscreen works superb, except it doesn't, the mouse can "fall" thru the right and bottom of the fake stretched fullscreen unfortunately.

Any chance of making mouse capture work in fake fullscreen (aka capture in window) in future dgVoodoo versions?

Reply 4 of 17, by Dege

User metadata
Rank l33t
Rank
l33t

Yes, fake fullscreen can be achieved with windowed mode + setting the proper windowed attributes, but it's not a convenient way and it lacks the mouse emulation of fullscreen.
That's why I was planning a separate 'fake fullscreen' working mode, but I postponed it because D3D12 is always fake fullscreen in the background.

But I'll reconsider it.

Reply 5 of 17, by 2mg

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on 2021-02-17, 12:18:

it lacks the mouse emulation of fullscreen.

I think dxwnd simply (and there is also software designed for this like if you have dual screen setup) limits the cursor to a specific screen/window, nothing else, like invisible margins, no emulations or similar.

Dege wrote on 2021-02-17, 12:18:

But I'll reconsider it.

Thanks!

Reply 8 of 17, by 2mg

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on 2021-03-02, 19:13:

There is the new 'fake' option for fullscreen rendering in 2.73, plz try that.

bbdgvoodoo.jpg
Filename
bbdgvoodoo.jpg
File size
251.53 KiB
Views
478 views
File license
Public domain

So with these I'm able to get the fullscreen borderless with smooth frames, but still the mouse falls thru bottom and right sides of the screen.

I've tried checking if not using "Scaling mode" combined with "Fullscreen size" to get the small 640x480 window, it keeps the game's cursor inside the window, but not the windows cursor.

Am I doing something wrong?

Reply 10 of 17, by Dege

User metadata
Rank l33t
Rank
l33t
2mg wrote on 2021-03-18, 22:04:

Am I doing something wrong?

Yes, you're still running the game in forced windowed mode, so attribute Fake has no effect at all, it's a fullscreen attribute.
Run the game in fullscreen mode as you'd regularly do, enable attrbute Fake and don't care about windowed attributes.

Reply 11 of 17, by 2mg

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on 2021-03-19, 11:32:

Yes, you're still running the game in forced windowed mode, so attribute Fake has no effect at all, it's a fullscreen attribute.
Run the game in fullscreen mode as you'd regularly do, enable attrbute Fake and don't care about windowed attributes.

Nice, it works and is very smooth! Thanks!

Quick questions:

- any way to slow the mouse down when using DGVoodoo, since it's still just a small 640x480 window stretched to full screen?

- any idea why proper fullscreen is very jerky (aka why does desktop compositor's vsync fix it)?

Again, thanks!

Reply 12 of 17, by Dege

User metadata
Rank l33t
Rank
l33t

Great!

2mg wrote on 2021-03-20, 01:32:

- any way to slow the mouse down when using DGVoodoo, since it's still just a small 640x480 window stretched to full screen?

Unfortunately no, dgVoodoo cannot affect mouse speed. But, in fact, it should be the same speed as with a pure 640x480 display because the physical cursor is still moving inside a 640x480 rectangle.

2mg wrote on 2021-03-20, 01:32:

- any idea why proper fullscreen is very jerky (aka why does desktop compositor's vsync fix it)?

No, currently I have no idea. 😀
Do you get vsynced result with fake fullscreen and uncapped result with real fullscreen?
With both API (D3D11/12)?

Reply 13 of 17, by 2mg

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on 2021-03-20, 12:07:
Great! […]
Show full quote

Great!

Unfortunately no, dgVoodoo cannot affect mouse speed. But, in fact, it should be the same speed as with a pure 640x480 display because the physical cursor is still moving inside a 640x480 rectangle.

Do you get vsynced result with fake fullscreen and uncapped result with real fullscreen?
With both API (D3D11/12)?

Yeah, thing is mice back then had balls, compared to today's 20000 DPI (overcompensating much?), not an issue, just asking if it was a hidden feature.

I'm on W7, so I can test without desktop compositor (DWM/Aero) and it's forced vsync on/off in any windowed modes, but I can't test DX12.
Note that I'm not forcing vsync thru DGVoodoo or GPU driver.
I am also not artificially capping FPS.

This is what I noticed:
- the game has a bizarre case of FPS and/or framepacing
- when you move the mouse, the FPS will jump to literary 300-500FPS
- when you do not move and just let it play, it drops to 68 in fake fullscreen (with or without Aero), and 60 in real fullscreen
- it is ALWAYS smooth in fake fullscreen or pure windowed, even if the counter is 68 or 500FPS
- it is NEVER smooth in real fullscreen, even if the counter is 60 or 500FPS
- there is ALWAYS (all scenarios) a hiccup if you pan the game screen, even without mouse, using keyboard, it's barely noticeable, but in regular intervals > probably a frame being repeated?

There is just something about real fullscreen limiting the game to work at 60FPS (if you're not moving the mouse) compared to fake fullscreen with or w/o Aero, which is 68FPS (again, no mouse movement).

No Aero = no vsync
Aero = triple buffer vsync AFAIK, not sure which one, since people call a lot of stuff triple buffer
Fullscreen = either no vsync or double buffer or triple buffer, can't tell for signs since it's jerky anyway

Maybe thinking that vsync is the issue is the wrong direction, since I have no idea why mouse movement registers hundreds of FPS, that would imply no vsync is forced even in real fullscreen, yet it's 60FPS compared to fake fullscreen's 68FPS.

Also, forcing Vsync in DirectX in DGVoodoo in fake and real fullscreen results in stable 60FPS frametime (nice flat graph) BUT the game literary stops while you're moving the mouse.

All in all, it's perfectly playable with fake fullscreen, but I hoped as to why real fullscreen is so jerky wouldn't be such a bugger to figure out.

Reply 15 of 17, by 2mg

User metadata
Rank Newbie
Rank
Newbie
ZellSF wrote on 2021-03-22, 10:23:

Enable "Batched update for primary surface" under DirectXExt.

It's better in real fullscreen, it's still kinda stuttery and the mouse feels laggy, but it is playable compared to having it turned off for real fullscreen, which is a stuttery mess.

"Batched update" + "Force vsync" is even more smooth, but it's like every (regular intervals) few frames are repeated, which is really annoying, like a bunch of micro loading screens.

None are as smooth as fake fullscreen. All of them cap at 60FPS, compared to fake fscreen's 68FPS.

Reply 16 of 17, by Dege

User metadata
Rank l33t
Rank
l33t

The game probably draws its own mouse cursor directly to the primary (visible) surface, so the screen is updated for every mouse move, that explains why the FPS cuts loose.
If you suppress that with forced vsync then it's expected to be very laggy.
Batched update is to reduce number of screen updates but it works well only if the game window messages handled effectively (so it's game dependent).

I don't have idea for real/fake fullscreen differences though.

Reply 17 of 17, by 2mg

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on 2021-03-24, 13:08:
The game probably draws its own mouse cursor directly to the primary (visible) surface, so the screen is updated for every mouse […]
Show full quote

The game probably draws its own mouse cursor directly to the primary (visible) surface, so the screen is updated for every mouse move, that explains why the FPS cuts loose.
If you suppress that with forced vsync then it's expected to be very laggy.
Batched update is to reduce number of screen updates but it works well only if the game window messages handled effectively (so it's game dependent).

I don't have idea for real/fake fullscreen differences though.

Yeah, all in all, fake works excellently, thanks!