Jump to content
  • Sign Up

Screen tearing in Windowed Fullscreen with the D912pxy enabled - anything I'm forgetting?


Recommended Posts

Hello again :)!

I've been interested in using the D912pxy addon for a long time now and have recently tried it out for the first time via the Guild Wars 2 Addon Manager (great tool btw!). I must say it's a pretty neat addon! I'm running a competent gaming system (an i7-9750H with 6 cores 12 threads clocked at 4Ghz and a GTX1660 Ti 6GB mobile GPU), and even though I was running the game pretty smoothly already, performance for free is always welcome right:D?

From my observations the addon especially helped in 'heavy' areas like Divinity's Reach (especially now that Wintersday is live) etc. My raw FPS increased a bit, but I saw most of the improvement in the perceived smoothness of the game, which I think comes from the fact that this addon made the ingame performance more consistent (more consistent FPS & frametimes,... ).

The potential of this addon is amazing, but there is something that bothers me a little bit about it. Before I was playing Guild Wars 2 with the D912pxy addon, I used Windowed Fullscreen/Borderless Windowed to remove any potential screen tearing. After I installed the addon, I noticed that, even though I was running Windowed Fullscreen like before (which the addon recommends as well), there was some screen tearing. At first I thought as long as it is minor, I can look past it, but the screen tearing was quite noticeable and I would like to ask the Guild Wars 2 forums, do you experience the same or does one of you have advice/a tip/a setting or configuration that would solve this problem? Did I overlook something in the setup/settings of the program perhaps?

(As a sidenote, all my drivers are up-to-date and every component is working as intended:D)

Thanks in advance!

Link to comment
Share on other sites

@"Hannelore.8153" said:Turning on Triple Buffering in your driver configuration will help. Make sure vsync in the game is off, though.

Triple Buffering is meant to be used in combination with VSync, so it makes no sense to turn it on when you are not using VSync.

My advice: turn both on. Triple Buffering in your nVidia settings (with VSync being set to "Application-controlled"), and VSync in-game.

Link to comment
Share on other sites

@Speedylord.2798 said:Hello again :)!

I've been interested in using the D912pxy addon for a long time now and have recently tried it out for the first time via the Guild Wars 2 Addon Manager (great tool btw!). I must say it's a pretty neat addon! I'm running a competent gaming system (an i7-9750H with 6 cores 12 threads clocked at 4Ghz and a GTX1660 Ti 6GB mobile GPU), and even though I was running the game pretty smoothly already, performance for free is always welcome right:D?

From my observations the addon especially helped in 'heavy' areas like Divinity's Reach (especially now that Wintersday is live) etc. My raw FPS increased a bit, but I saw most of the improvement in the perceived smoothness of the game, which I think comes from the fact that this addon made the ingame performance more consistent (more consistent FPS & frametimes,... ).

The potential of this addon is amazing, but there is something that bothers me a little bit about it. Before I was playing Guild Wars 2 with the D912pxy addon, I used Windowed Fullscreen/Borderless Windowed to remove any potential screen tearing. After I installed the addon, I noticed that, even though I was running Windowed Fullscreen like before (which the addon recommends as well), there was some screen tearing. At first I thought as long as it is minor, I can look past it, but the screen tearing was quite noticeable and I would like to ask the Guild Wars 2 forums, do you experience the same or does one of you have advice/a tip/a setting or configuration that would solve this problem? Did I overlook something in the setup/settings of the program perhaps?

(As a sidenote, all my drivers are up-to-date and every component is working as intended:D)

Thanks in advance!

Hi mate. You can use a frame limiter to stop the tearing , either the internal one in the D912pxy config file or Rivatuner.

Either of these will fix your issues. Set 3 frames below your monitors refresh rate for the lowest input latency.

I forgot to say, triple buffering is not implemented in DX12 so using this setting is irrelevant when using the d912pxy.

Link to comment
Share on other sites

If D912pxy doesn't work properly you can also try dxvk.https://github.com/doitsujin/dxvk/releases/

Note:

Should be noted that d912pxy runs pretty much nothing but GW2 and cuts a lot of corners whereas dxvk is a more or less complete D3D9 implementation, so you're basically comparing apples and oranges, but it should still be competitive with Windows Dx9.( https://github.com/doitsujin/dxvk/issues/1648 )

It's the same back-end as Steam Play / Proton on Linux : https://www.phoronix.com/scan.php?page=news_item&px=Proton-5.13-3-Released

Link to comment
Share on other sites

@"Infusion.7149" said:If D912pxy doesn't work properly you can also try dxvk.https://github.com/doitsujin/dxvk/releases/

Note:

Should be noted that d912pxy runs pretty much nothing but GW2 and cuts a lot of corners whereas dxvk is a more or less complete D3D9 implementation, so you're basically comparing apples and oranges, but it should still be competitive with Windows Dx9.(
)

It's the same back-end as Steam Play / Proton on Linux :

dxvk is great and i'd encourage people to try the async patch and #1582 PR applied.Here is the build here

https://www.dropbox.com/s/jvsr9zzzqpsnp6o/dxvk-async-1.7.3.tar.gz?dl=0

On Windows head into environment variables and add the following line

DXVK_ASYNC

in the line below type

1

Then save.

Having said that. For performance, the dx912pxy wins hands-down ( i've done extensive testing )

For those on mid-range and above nvidia cards there's really no-point in looking at dxvk over native dx9.Amd users may find it out-performs native dx9 in some situations

Link to comment
Share on other sites

@Ashantara.8731 said:

@"Hannelore.8153" said:Turning on Triple Buffering in your driver configuration will help. Make sure vsync in the game is off, though.

Triple Buffering is meant to be used
in combination
with VSync, so it makes no sense to turn it on when you are not using VSync.

My advice: turn both on. Triple Buffering in your nVidia settings (with VSync being set to "Application-controlled"), and VSync in-game.

Enabling Triple Buffering on AMD/NVIDIA cards enables systemic VSync automatically, as its a required component of Triple Buffering. Enabling it specifically for the game will only further hamper performance,

The driver setting and the game setting for VSync are two different things.

Link to comment
Share on other sites

@Hannelore.8153 said:

@Hannelore.8153 said:Turning on Triple Buffering in your driver configuration will help. Make sure vsync in the game is off, though.

Triple Buffering is meant to be used
in combination
with VSync, so it makes no sense to turn it on when you are not using VSync.

My advice: turn both on. Triple Buffering in your nVidia settings (with VSync being set to "Application-controlled"), and VSync in-game.

Enabling Triple Buffering on AMD/NVIDIA cards enables systemic VSync automatically, as its a required component of Triple Buffering. Enabling it specifically for the game will only further hamper performance,

The driver setting and the game setting for VSync are two different things.

Hello, I'd like to point out respectfully that you're mistaken. The point of triple buffering is not having vsync on whilst having no tearing.

You cannot have triple buffering and vsync at the same time. One replaces the other. With vsync you have a double frame buffer.Triple buffering is literally that, 3 frame buffers in the render pipeline.

There an article written here which explains it well.https://www.anandtech.com/show/2794/3

Link to comment
Share on other sites

@"Mack.3045" said:Hello, I'd like to point out respectfully that you're mistaken. The point of triple buffering is not having vsync on whilst having no tearing.

You cannot have triple buffering and vsync at the same time. One replaces the other. [...]

Errr... Then explain this to me, which has been the given information for ages:

xMWRKSz.jpg

Link to comment
Share on other sites

Triple buffering will not work in either DX12 or Vulkan as the api decides on the frame buffer / swap chain.As to the Nvidia setting, it's only relevant to Opengl as others have mentioned. I'm unsure why they state vsync is switched on by default with that option. The article link I posted gives an explanation.

Link to comment
Share on other sites

There is not one single hint in this thread, that is technically correct.

  • Triple buffering has nothing to do with vsync being enabled or disabled. Triple buffering adds another frame buffer to the render ahead queue of the rendering pieline, which results in always being a completed frame ready to be displayed on the screen, no matter when the display refresh rate asks for it. This does of course only make sense when vsync is enabled, as this synchronizes the gpu refresh with the monitor refresh. If you enable triple buffering without vsync, then you add an additional frame buffer for no reason, which just increases input lag and vram usage (for the additionally stored frame). Btw. you can not force vsync and triple buffering in modern apis like dx12 via the gpu driver. The game engine has full control over it.
  • Don't (!) limit you fps 3 frames below your monitor refrsh rate - e.g. 57 fps @ 60Hz. This will just increase the tearing and a tear will move from the top of the screen to the bottom all the time. That's super annoying.
  • The best way to get rid of all the vsync issues, is buying an adaptive sync monitor and never look back.
  • Since the OP plays the game on a laptop a workaround to get rid of tearing would be enabling fast sync (enhanced sync for amd users) in the driver, which displays the last rendered frame at the next refresh cycle of the sceen. But also this has its flaws: 1) fast sync does only work above 36 fps (below it is tured off) and it tends to stutter even more than vsync. But I would at least give it a try.
Link to comment
Share on other sites

@KrHome.1920 said:There is not one single hint in this thread, that is technically correct.

  • Triple buffering has nothing to do with vsync being enabled or disabled. Triple buffering adds another frame buffer to the render ahead queue of the rendering pieline, which results in always being a completed frame ready to be displayed on the screen, no matter when the display refresh rate asks for it. This does of course only make sense when vsync is enabled, as this synchronizes the gpu refresh with the monitor refresh. If you enable triple buffering without vsync, then you add an additional frame buffer for no reason, which just increases input lag and vram usage (for the additionally stored frame). Btw. you can not force vsync and triple buffering in modern apis like dx12 via the gpu driver. The game engine has full control over it.
  • Don't (!) limit you fps 3 frames below your monitor refrsh rate - e.g. 57 fps @ 60Hz. This will just increase the tearing and a tear will move from the top of the screen to the bottom all the time. That's super annoying.
  • The best way to get rid of all the vsync issues, is buying an adaptive sync monitor and never look back.
  • Since the OP plays the game on a laptop a workaround to get rid of tearing would be enabling fast sync (enhanced sync for amd users) in the driver, which displays the last rendered frame at the next refresh cycle of the sceen. But also this has its flaws: 1) fast sync does only work above 36 fps (below it is tured off) and it tends to stutter even more than vsync. But I would at least give it a try.

People already covered what you've suggested except the last two points. Technically that is.

Link to comment
Share on other sites

  • 6 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...