Forums
December 18, 2017, 12:28 PM

Author Topic: D3D9Wnd 0.7 - a native, Direct3D 9-based windowed mode and multi-monitor support  (Read 35562 times)

0 Members and 1 Guest are viewing this topic.

Offline Sensei

There's an easier way if you have NVidia graphic card. You should run NVidia control panel. Here's tutorial:




Thx to Tomt for showing me this few weeks ago.
« Last Edit: April 22, 2016, 02:15 PM by Sensei »


"Much like the Matrix series,                 
the only worthwhile installation               
was released in 1999. and the ones         
called Reloaded and Revolutions              
are titles to stay away from."

Offline StepS

D3D9Wnd 0.7.0.0 has been released

Changes:
  • Fixed compatibility with the GOG version.
  • Implemented in-game Fullscreen mode. This works like vanilla fullscreen, but in-game (previously you could do this for the Frontend only). This allows you to keep exclusive fullscreen in-game which has slightly higher performance than borderless windowed fullscreen, while still keeping frontend windowed and responsive. No keyboard controls or other extended in-game options are enabled in this mode.
    • To enable Fullscreen, set Fullscreen=1 in [InGameSettings].
    • Note: when you attempt to start a game with an unsupported in-game resolution, you will be forced into windowed mode for the duration of the round. I decided that this was better than the game's default behavior of throwing you into 1024x768.
    • Note 2: Multi-Monitors take priority over Fullscreen. If Multi-Monitors are enabled and used, in-game Fullscreen is disabled.
  • When losing focus, all keys on the keyboard are now released (not just Alt) in windowed mode. One big manifestation of this bug was Ctrl+G, with Ctrl sticking after regaining focus. No buttons stick anymore. However, this fix does not apply to Fullscreen mode.
  • When Direct3D 9 disabled, you will, again, receive messages telling you to enable it (useful for newcomers). This is a restoration of the behavior as seen in older versions (which was removed due to technical concerns back at the time).
  • EnableCustomSize has been disabled. This function has been obsoleted by SuperFrontendHD. There's no reason to enable it any longer. If it's still enabled in your INI file, you will now receive a message box informing you about this. Note that there's a secret option to still enable it, for people who desperately need it (e.g., for testing or experimenting).
  • The module will now make the game Per-Monitor DPI Aware on Windows 8.1 and newer. Previously it would only set System DPI awareness (Vista+), but this would not protect you from DPI Virtualization when multiple monitors are connected on 8.1, or when scaling is changed without logging out and back in on Windows 10.
  • Fixed cursor clipping with Centered Frontend. The clipping rect was totally rekt.
  • Stretched and Centered Frontend options have been deprecated. They can still be used, but the module now recommends trying SuperFrontendHD.
  • Minor Frontend updates.
  • Minor Backend updates.
Dec 30 2013 23:59:44 <StepS> windowed mode isn't the only thing you need about frontend
Dec 30 2013 23:59:49 <StepS> you need it to be actually bigger
Dec 31 2013 00:00:13 <StepS> it actually is very small on my 15-inch full HD screen
Dec 31 2013 00:00:25 <StepS> while running at 640x480 or stretched mode makes it fuzzy
Dec 31 2013 00:00:44 <StepS> this problem has been around since the Worms Armageddon's release and no one has even tried to beat it
[...]

Offline SiD

My native res is 2560x1440, but I want to play with 1920x1080 fullscreen.
Using this module by far gives me the most stability (with stretch 1 and fullscreen 0), but the only issue I have is input lag, which I understand is caused by v-sync being on when using this module.

If I don't use this module:
  • and set 1920x1080 in W:A settings with vsyncs off, then the input lag is fixed. But this causes other issues (maximising problems, and Windows resizing when I exit.)
  • and set 2560x1440, everything works fine, except being way too small.


I have the option of setting my Windows 10 resolution to 1920x1080 before running W:A but I haven't found a way to automate this.
Is it possible to use this module with V-sync off?

Offline StepS

Is it possible to use this module with V-sync off?
If you disable vsync in your game settings, then it is disabled. However, this is not entirely true. Being windowed, the game is now subject to DWM's frame limiting. Therefore it is not really vsync-off anymore. The only way to play without DWM's interference is by using exclusive fullscreen (aka the vanilla one).
It is not possible to use Stretch in an exclusive-fullscreen application without more DirectX engineering than what the module already does.
Changing the resolution before the game can be automated. "FullscreenAlternative" in the frontend does exactly this - changes the system resolution. However it is set to restore it upon minimize/restore, so it'd feel like regular fullscreen. Technically this could be made to change the resolution until the game's shutdown, and not do anything in the process. But it will be your responsibility to fix it, should the game crash.
Dec 30 2013 23:59:44 <StepS> windowed mode isn't the only thing you need about frontend
Dec 30 2013 23:59:49 <StepS> you need it to be actually bigger
Dec 31 2013 00:00:13 <StepS> it actually is very small on my 15-inch full HD screen
Dec 31 2013 00:00:25 <StepS> while running at 640x480 or stretched mode makes it fuzzy
Dec 31 2013 00:00:44 <StepS> this problem has been around since the Worms Armageddon's release and no one has even tried to beat it
[...]

Offline SiD

Thanks StepS, I'll look into a way of changing res more easily.
A weird thing I encountered:
The warning message which appears when there's an unsupported res specified came up REALLY faint:
http://i.imgur.com/heTKGik.png

Offline Sensei

Do I see AHK icon opened there in the right bottom corner SiD?!?
Questions might be asked... Muahahaha

 ;D


"Much like the Matrix series,                 
the only worthwhile installation               
was released in 1999. and the ones         
called Reloaded and Revolutions              
are titles to stay away from."

Offline TheWalrus

Do I see AHK icon opened there in the right bottom corner SiD?!?
Questions might be asked... Muahahaha

 ;D
THE INTERLOPER IS USING THE CHEATS

Offline Sensei

For twitch streaming purpose I decided to take a shot at D3D9Wnd and wkSuperFrontend today.

Decided to run a few Fraps tests, because game felt awkward and I wasn't drinking.
When using nothing or just wkSuperFrontend - fps in game doesn't drop below 530, and can reach ~580 max.
When using D3D9Wnd, fps never goes above 470.

Call me lunatic, but if everything felt the same, I would never remember to run the tests. Game feels and plays different. Roping, for example.. like worm got 2 pounds.
Jetpacking also felt like a fat worm drive it. Some kind of input lag, or whatever you want to call it.
Merely noticable, but difference exists. Any thoughts on this or I should get hospitalized?

Anyway, about wkSuperFrontend - great job StepS, week ago I thought there's no point in using it, but admit mistake. It really is nicer and more comfortable. Hope someday you'll figure out how to scale map editor on previous size. That would be awesome!



EDIT: hmm, is this answered already :/
Is it possible to use this module with V-sync off?
If you disable vsync in your game settings, then it is disabled. However, this is not entirely true. Being windowed, the game is now subject to DWM's frame limiting. Therefore it is not really vsync-off anymore. The only way to play without DWM's interference is by using exclusive fullscreen (aka the vanilla one).
« Last Edit: October 27, 2017, 04:12 AM by Sensei »


"Much like the Matrix series,                 
the only worthwhile installation               
was released in 1999. and the ones         
called Reloaded and Revolutions              
are titles to stay away from."