The Perplexing Secret with BL3+VSYNC?

Hello~!

when this game first launched and i thought it was my imagination, but found it was real. sorry, i forgot to post about this perplexing ‘secret?’, but here it is and i hope it can help other people too.

i have found this nifty trick to the game to get the smoothest possible camera movement/gameplay…

~
~
~

1.) disable any FPS limiter you may be using, whether it is in-game or some out-of-game solution.

2.) put game to “Fullscreen” mode.

3.) enable vsync

4.) put game back to borderless/windowed.

5.) it should be noted that you don’t have to do this every time you launch the game. just do it once and you are gold.

~
~
~

i personally find this to provide the smoothest possible result to gameplay. leaving the game in Fullscreen mode with vsync enabled still doesn’t completely smooth it out, and find it to be even smoother in borderless with the vsync tricked to on.

~

/rant
i DO understand some of how DWM works, and it is complete garbage. out of the 2,000 some games i currently own on PC, pretty much none of them play smoothly. PC gaming is so much garbage these days. FML

Is it not your PC hardware?
cause like…
the common variable out of 2000 games is your computer.
and all of my games run smooth…

Yea, definitely seems like a hardware issue

@thepersonwithaface
@ionscion

i wish it were that simple.

the machine is fine, as far as i know. it is Windows 10 and DWM where the issue is.

for DirectX9 and below games and Vulkan and OpenGL, things are pretty good, because DWM doesn’t work with those games. so, with those we can use fullscreen or borderless/windowed mode and it doesn’t matter. if the game doesn’t have framesync options, we can still force VSYNC through drivers, because DWM doesn’t touch it. other options include using RTSS to limit FPS, or frametime, and manually move the scanline/tear off-screen.

for DirectX10 and 11 games, DWM is forcing framesync parameters of its own and creating issues with any settings the game may have or any user defined settings through third-party applications and/or drivers. even when running exclusive fullscreen mode, DWM still appears to be doing something. which is actually something somewhat new, because Microsoft enahnced the way exclusive fullscreen mode is handled.

~

for Borderlands 3… i can run it borderless and using the in-game option to limit FPS doesn’t create smooth gameplay at all. running exclusive fullscreen and using either the cap or VSYNC smooths it out quite some bit, but not completely. using the trick as described in my first post here, the game runs perfectly smooth.

so, for DirectX10 and 11, DWM forces VSYNC options. and even when you don’t have VSYNC enabled through the game or the FPS limited, you won’t get screen tearing. because DWM already takes care of that regardless of your FPS. my display is 60Hz, and DWM gets rid of screen tearing even at 30FPS or 200+ FPS. however, most games won’t play smoothly with an uncapped framerate. on the other hand, some games will have slower loading screen/transition times due to capped framerates, because of file write FPS.

~

now DirectX12 is a different story… DWM either doesn’t do anything at all with it, or just works differently. if i run Borderlands 3 in borderless mode with DirectX12 and using the in-game limiter option, the game plays perfectly smooth. but also puts in screen tearing. without the limiter, is not so smooth and still has tearing. so, clearly DWM isn’t doing anything. screen tearing can be adjusted with the scanline option through RTSS. or can just go fullscreen and use VSYNC.

it is also possible to play borderless and force VSYNC through drivers when using DirectX12 to get rid of screen tearing. again, clearly DWM is doing nothing. . i find this gives damn near perfect smoothness, a little better than using DirextX11+fullscreen+VSYNC. but not as good as using DirectX11 and the trick i posted about. i don’t know why Borderlands 3 does NOT give the option to enable VSYNC when playing borderless/windoweded while using DirectX12. it clearly works, because it can be anabled through the driver whereas it could not when using DirectX10/11.

again, DWM outright enforces its own framesync paramaters when using DirectX10 or 11. completely fudging with anything the game and/or user may configure.

~

on Windows 8, and earlier versions of Windows 10, it is possible to perform a trick or two to bypass DWM sadly, any of those versions of Windows performs like total garbage compared to newer versions of Windows 10. the difference is night and day!

~

at any rate… i have been gaming on PC since way back on Windows 3 when it took like 30-50 frickin’ floppy disks to install the operating system.

~

trust me… i wish it were as simple as it being my PC. but in the end it all has to do with DWM and the API being used.

there are PLENTY of factors to include to consider why people may not notice, or may not be at all affected. from the display being used, input method, game being played and/or API being used. probably more!

~
~
~
~
~

(SIGH)
i know this is a huge wall-of-text… and odds are, i forgot something along the way. oh wells… if anyone actually reads any of it, then hopefully they understood it.

ahm, do a userbenchmark test.


I really dunno if it’s what you say or if it’s your PC. Just seeing that you said over 2000 PC games are not smooth because of windows DWM…
Well…
My games are smooth and I have good hardware!
AND I run windows.
So.
Something is going on.

Just curious, what are your machine specs?

@thepersonwithaface
@ionscion

ASRock Z370 Pro4 Motherboard
Intel i7-8700k (not overclokced)
Nvidia GTX 1070 Ti (MSI Aero 8GB) (not overclocked)
2x8GB RAM DDR4@2400Mhz (not overclocked)
Samsung 860 EVO 1TB (operating system)
Samsung 970 PRO 1TB (games)
and i forget what the PSU is

displays being used…
some old Dell, DellSP2008WFP desktop monitor. it maxes out at 1680x1050.
and an LG TV, UN55MU6300. it maxes out at 3840x2160(4096x2160)

i know a TV isn’t the most ideal, but same issues occur regardless of the display being used. i have tried some other monitors too that max out at 1080p resolutions. but those are 5:4 displays and i prefer to have the 16:10 Dell connected.

~
~
~

okay! first and foremost, i am sorry for being rude about this, but… i have no intention in dealing with benchmarks, and have already dabbled in a few of those including the one linked. performance in of itself is fine.

second… i suppose 2000-some OWNED is a bit of exaggeration, more-or-less. actually around 1200 is going to be games that are completely free. whether they are indie, or are just F2P, so owned not really the correct word there. as for the other 800… around 200 of those were games given out completely free. normal games you pay for, but were given away for free. and of the remaining 600 titles, roughly about 200 of those are from subscription services. so, again, owned not really being a good choice of words. as far as outright bought games go, around 400 of those. and keep in mind that those figures are just from the past 3years, roughly speaking.

all-in-all, that means there are most likely going to be PLENTY of those games simply not optimized well. whether that just means poorly developed or a crappy port. meh.

further more… i am 100% certain it is not a hardware issue. if it isn’t likely to be an OS issue or an issue with DWM… DWM being a common issue that pretty much the entire internet knows about… then it would have to be a driver issue.

again, there are PLENTY of reasons as of to why issues with DWM don’t affect plenty of other people. then there are going to be those who are fine with it, or don’t even notice issues. but i PROMISE you that issues with DWM are widely known about. pretty much every gamer hates DWM. . . . research it.

why you think PC getting ports from Console is more-and-more common over the last some few years? it used to be the other around, that Console would get all the ports. there is a good reason why more-and-more developers are flocking to Console… even Bethesda, whom WAS renowned for only liking to develop on PC.

it sure as hell isn’t simply because of sales, or marketing. it also isn’t because of how convenient it is to manage software titles for the developers. which is only more-or-less true. Console manufacturers are fixing that. i mean… biggest fret for a console game developer is/was constantly having to learn the new API on the new console and optimize usage. DirectX made things easy on PC, because it is always pretty much the same exact thing just upgraded. there wasn’t always this new steep learning curve to overcome. but what difference does that make when you toss in DWM? real talk… if it was because of the first aforementioned things, then PC gaming would have tanked a LONG time ago. believe it.

think about it… console game developers mostly stayed on console DESPITE having a new learning curve to overcome with each new generation of consoles. whereas, on the other hand, PC game developers whom are already familiar with DirectX API’s drop like flies in favor of consoles. if it wasn’t something at least relatively new, don’t you think PC gaming would have hit the pits long ago? don’t you think consoles would still be getting all the crappy ports?

many and much of it has to do with DWM. not because of the API being used, not because of the diversity in hardware and/or peripherals being used. if it was the hardware/peripherals, then PC gaming would have tanked long ago. if it were the API, then developers would automatically default to Xbox.

keep in mind that PC was never meant for games in the first place. people just made games on PC simply because they could. and they could do it using their own software and tools they developed themselves. they didn’t have royalty fees to worry about… i can go on with more reasons!

problem with that is that it meant the PC gaming industry has no standards to keep things in check with… still doesn’t. no industry standards is a huge problem. without standards you would strive to even so much as call it an industry in the place.

~
~
~
~
~

at any rate…

the biggest thing i can add to any of this is that i can get perfectly smooth gameplay depending on the driver version and its configuration.

when using the latest graphics driver this particular trick doesn’t work, for some reason. not the trick from my original post, but a different one i found on a whim a couple years back.

but the trick i have found for me is this…

using nvidiaprofileinspector set “Frame Rate Limiter” to 0xF000003C. i have NO clue what the F does, but 3C converts to 60 decimal. without the F the framerate is capped but gameplay is not smooth. with the F, gameplay is perfectly smooth.

this trick works for, as far as i can tell, damn near every game. DirectX9 and below, Vulkan, OpenGL and DirectX10 and above games.

a couple of games i noticed it didn’t work well with is Crashlands and Criminal Girls : Invite Only. but out of like at least 200-some tested games, this trick works perfectly. Dirext9 and below, Vulkan and OpenGL get a screen tear at the very very bottom of the screen. it can be easily ignored, or moved off-screen using RTSS Scanline feature. DirectX10/11 games don’t get a screen tear. DWM takes care of it.

as far as all of the other games go… i swear to this… i have tested damn near every game i have access to on the latest Nvidia drivers and it is pure hell to get just a SMALL handful playing smooth. always got to jump through hoops and configure something. some are impossible to play smoothly.

all-in-all, it shouldn’t be taken from this that is purely a driver issue.

if you search the internet, pretty much everything you find about DWM is bad news. ( not to be confused with DWM from suckless)

Well you’ve certainly done your research, more than me for sure. I’ve honestly never delved into things as deeply as you have. I am impressed by your knowledge here.

On my end I’m running the following

Ryzen 7 3700x
16 gb ram
Rtx 2070 super, factory OC
Samsung 980 evo
X570 mobo
Running on a gsync 27" 1440p display

I have played quite a lot of games on this machine since I built it last year. Not quite as many, considerably less actually, maybe 60-70

However, I have never once had to do anything to get a game running smoothly other than mess with vsync settings ( so gsync is working properly). Occasionally I will install a new driver to make sure all is running well.

Who knows what this means compared to your setup, but a 1070 is 2 gens old at this point. All my recent gear rarely encounters issues with newer games

it is actually funny you mention gsync.

the most absolute common thing i have found between internet chats where people do NOT experience issues is when they have a freesync/gsync display.

basically, the gist of what is happening for you, is that you aren’t even using DWM for frame synchronization. your gsync display is taking complete control over that aspect.

don’t misconstrue this. using adaptive-sync displays isn’t a solution for this, and would be more considered a work-a-round. it doesn’t fix DWM, but instead just removes it from the equation.

however, with that being said… despite that, i have considered multiple times saving up money for one. sadly, something else always comes up. lol T_T

running a TV, definitely not ideal, 1070ti is the card I’m rocking too albeit with a i9-9900k @ 2k resolution. 1070ti is gonna under perform at 4k.
And 1680x1050 is not an optimal resolution either.
You’re not being rude I just don’t think you’re taking into account your hardware and just wanna blame DWM, when other setups are running like butter. The software optimization doesn’t change between people, the hardware does.
Unless this smoothness issue is very slight, I guess I might be exaggerating it a bit in my brain when I read it.

This I don’t understand because you just run it and share the link. It literally tells us if your performance is fine or not.

no doubt running a TV isn’t ideal, but i got several desktop monitors and the result is the same on them all. while my main display is 4k, i do run at 1920x1080. 1680x1050 isn’t an optimal resolution, but that wouldn’t make any difference. i would just get more FPS! hehe

i am not blaming DWM just for some easy way out. i know this to be the issue. again, it takes control over these things when playing DX10 and DX11 games. plenty of people have issues with it, whether they be stutters in the framesync or input lag because of triple buffering.

the smoothness issue is for sure not slight. but the fact i can resolve it by jumping through a series of hoops, should show it isn’t hardware. it is just a matter of getting settings that mix well with what DWM forces upon the user. you can’t override DWM! problem is, this is more-or-less something i have to do on an almost game-by-game basis, that is depending on the driver version being used.

on newer driver versions, it is almost impossible to get smooth gameplay. i have already contacted Nvidia about this, but they have never been able to help.

if it were hardware, i wouldn’t be able to resolve it no matter what. i am sorry, maybe it just isn’t easy for me to properly explain why the issue is DWM. but do know, DWM is a known issue for many people.

1 Like

Very strange indeed. I’ve never had any experience with these issues, so this is all new to me. I do like to learn about them though.
The only thing that I guess I’m stuck on is, why do only some people have issues with it? Or do we all and I’m just not noticing it?
I’ve had to change BL3 to fullscreen from borderless because I’ve noticed it’s not as smooth in borderless, but I never have to re-switch it back and forth.

EDIT: I can’t remember if my monitor is free sync, it very well might be and that may be why I’m not running into issues!

the best i could find on why some people don’t have the issue is that they are using an adaptive-sync display. that would be freesync or gsync.

also, plenty of people prefer to not cap/limit their FPS. which can work fine, it really depends on the game and/or personal preference for this.

another note to make… it might be that some people simply don’t notice. i suppose i should have done better to better distinguish between moments where games don’t play smoothly vs stutters. framesync errors can cause stutters, whereas non-smooth gameplay would just be from not having a stable framerate.

SO… even though the cross-hair may move around normally and not stutter and FEEL smooth, VISUALLY speaking the game may not look smooth when FPS is not limited.

in my case… i experience framesync errors/stutters when trying to cap/limit the FPS. and that is mainly because of DWM. limiting the FPS to something you can maintain and keep stable, will visually smooth out what you see.

~

as far as fullscreen vs borderless goes… exclusive fullscreen is SUPPOSED to give complete control over to your display. hence why it will normally be smoother. but these days? DWM still does things in exclusive fullscreen mode.

go play your game in “Fullscreen” and disable any FPS limiter and/or VSYNC. you won’t notice any screen tearing, and that is because DWM is doing something to get rid of it. i don’t know exactly what, but my best guess is that it moves it off-screen.

you can further test this by playing a DirectX9 game. without VSYNC, you will notice screen tearing. that is because DWM doesn’t work with DirectX9.

further-more, Microsoft upgraded exclusive fullscreen mode… or downgraded? difficult to say! Microsoft did something to exclusive fullscreen mode to make it behave more like borderless. notice how fast you can alt-tab from your game? it wasn’t always like that, because exclusive mode would give your display complete control over everything.

the best comparison i can make to this to maybe help understand “exclusive mode” a bit more is with audio. if you go to your Windows sound settings and check around… you will find an advanced tab with this option for exclusive mode. this is needed for bit-streaming an encoded audio format to an endpoint that will decode it. when this is happening, no other software on the PC can output audio through that device.

so, NORMALLY in exclusive fullscreen mode you wouldn’t even be able to get overlay support from things like STEAM or other software.

~

at any rate, my experience in fullscreen mode isn’t TOO bad, but using that trick i outlined in the original post here… the game plays perfectly smooth. the trick only needs to be applied once, and not every game session.