Screen Tearing

I have a gtx 970 and i am getting bad screen tearing on any setting. (DX 11) as i cant get DX12 to run properly.  I have v-sync enabled in game and in the nvidia control panel. I play on TV and use an HDMI cord.

Edit: resolution is native 1920x1080

Is this screen tearing common? Or do i have a larger issue at hand?

~football13tb

15,737 views 12 replies
Reply #1 Top

This is likely a function of the maximum data transfer of HDMI (cables and hardware) and the capabilities of the TV vs the speed of your 3d acceleration hardware.  

 

Try going into the nvidia control panel and under 3d settings, manage 3d settings, program settings tab, AotS DX 11, Vsync setting -> adaptive (half refresh rate).

 

Let us know what happens with this.  (capping the refresh rate to 30 fps)

Reply #2 Top

I forgot you may need to turn off VSync for any in game settings (or any other way you may have it on).  Let that expensive NVIDIA hardware take care of it all.

Reply #3 Top

Okay, here are the results on DX11 at resolution of 1920*1080...

V-sync enabled in game...Horizontal screen tearing. 

V-sync disabled in game... Horizontal screen tearing.

V-sync disabled in game but enabled in nvidia control panel... Horizontal screen tearing.

v-sync set to adaptive (30fps) in nvidia control panel... Horizontal and Vertical screen tearing, hard to see what image is trying to be displayed.

 

Now as far as the limit of the HDMI cord... i do not have screen tearing on any new AAA game that has came out, all usually on maximum settings. So why would i have screen tearing on Ashes because as far as the image being transferred, at 60fps in all other games, it should be the same data wise. 

Any other ideas would be appreciated. 


~football13tb

Reply #4 Top

Update. 

Setting a fps limiter to 59fps in MSI afterburner seems to have entirely fixed the screen tearing. I am curious why v-sync was unable to handle this problem though. 

 

~football13tb

Reply #5 Top

I actually have this issue with a 50" plasma I use at times.  The screen could only do 59Hz not 60.  

Let me start from the beginning on your questions.

The idea behind pulling the vsync setting out of the game and into the control panel was to isolate if there was a bug in the game software that it just was not getting the setting to the driver (not the case per your testing)

The idea behind changing the vsync cap to something other than 60 hz was to see if you had a change (you did).  This isolates 2 things.  If it was a change to fixed then the problem was that the hardware could not draw at 60 hz (believe it or not some screens use one 60hz driver on different quadrants and only do 15 or 30 fps....).  If the change resulted in some other change to output that made it worse then it could be a frequency misalignment.

A frequency misalignment can be for several reasons but think of it this way.  The TV is trying to draw at specific pulses once per frame by taking the data in the tv memory and displaying it all at once.  Screens no longer draw one pixel then the next then the next the way they did with CRTs and 1 electron gun hitting each pixel.  Whatever is in the memory will be displayed to the screen.  Now think that the card is trying to draw at 90fps and the screen is drawing at 60 frames per second. if you think of the screens coming from the video card as 1, 2, 3, 4, 5 etc then at the first impulse for the screen (@ 60Hz) the card has drawn 1.5 frames.  So the first half of the memory has the second screen and the second half still has the first screen (tearing).  this exact 1.5 difference will result in tearing at the midplane of the display.

Now the same thing can happen on a smaller scale.  Imagine the TV says it is displaying at 60fps but it can only do 59fps.  This can be because of a hardware difference in the oscillators (the clock) and can be temperature dependent.  Then you will tear at a different point every draw.  Or if you can only draw 59.9fps then you will tear sometimes and sometimes you won't...

There is a lot of hardware and software designed to prevent the clocks from getting misaligned, but it still happens.  If it didn't then we would never need things like vsync etc.  Sometimes the difference is odd and even the software and hardware attempting to vsync can't accomplish the task... That is why when it really comes down to it they let you slow down the refresh rate.

You may need to just try different rates that work for you....

BTW beware the cheap 4k displays (TVs). they are 1080p drivers hooked to multiple pieces of the display and can not run at 60 fps for the whole screen in 4k mode....

Hope that helps explain all your questions.

Reply #6 Top

Thank you very much. Like I said above limiting the fps to 59through MSI afterburner seemed to solve the problem. Again, thanks for you knowledge on the subject.

 

~football13tb

Reply #7 Top

Quoting football13tb, reply 4

Update. 

Setting a fps limiter to 59fps in MSI afterburner seems to have entirely fixed the screen tearing. I am curious why v-sync was unable to handle this problem though. 

 

~football13tb
End of football13tb's quote

 

This is highly interesting.  Thanks for posting this information.  We'll be discussing this internally.

Reply #8 Top

Frogboy, beta 2 has not solved the screen tearing issue on my gtx 970 (dx11) as dx12 is unstable on my system.  

However, MSI afterburner fps limiter to 59 still can solve this issue. I believe with my little to no knowledge on this subject that the v-sync function is the culprit. 

~football13tb

Reply #9 Top

"I play on TV"

What is your TV's refresh rate? (Hz) Is it set for PC use?

Reply #10 Top

The_Gear my tv refresh rate is exactly 59.94hz.  I use v-sync in every game I play and I have never had screen tearing. However, v-sync does not fix the problem in Ashes. As far as the TV I use a HDMI cord to transfer the image and sound to the TV. I can provide anything you ask while I try to figure this out. Also, ashes incorrectly chose my resolution and UI on beta 2. (Possible connection)?

 

~football13tb

Reply #11 Top

Ashes will pull your native resolution and use it. You can edit the settings.ini found here: 

C:\Users\PC_NAME\Documents\my games\Ashes of the Singularity

Resolution=1920,1080

Changing it to whatever you like.

I would suggest turning off V-Sync in your NVidia control panel and allowing the game to manage it.

Reply #12 Top

Gear I want you to know Ashes chose the WRONG resolution. I had to go in and change it to 1920x1080. And I will give the v-sync ain nvidia control try when I get home. 

 

~football13tb