Screen tearing, how can I solve it?
#1
I hope the problem is really called screen tearing but I think it is.

You know it is that weird problem there a frame overwrites a previous one and the image seems to get torn apart. Usually in PC games I can easily avoid it with Vsync but this isn't possible with PCSX2. Or at least the performance drop is too high. You loose around 1/3 performance so for constant 60FPS I need constant 90FPS on my game which is quite unrealistic even on 4.4Ghz C2D.

I tried nHancer to force Vsync but it didn't change anything.

So is there any other idea to solve this problem?

I use PCSX2 Playground 1.0.0.395 with GSdx 0.1.12 in DX10.
Reply

Sponsored links

#2
As a start, which videocard do you have?

Secondly why would you want such insane high fps (90), when PS2 do run basically at 60fps (50 if european/pal), and most screens nowadays (All TFTs as far as I know) don't handle >60Hz any good if at all? Just curious on this one (I'm sure you've got your reasons).
Reply
#3
I got a Leadtek 260GTX+ so it basically a Nvidia card.

The 90FPS was a different reason. You see the VSync option in GSdx is kinda broken so if you activate it the performance drops by ~ 1/3 but screen tearing really disappears (might be also because of low speed). So if I had constant 90FPS and activate VSync then FPS would drop to 60 but the game would be still fast enough and the screen tearing hopefully gone Smile.

I will test this now, I just need to know. In FFX/FFX-2 I could test as I get easily 100FPS in both games.
Reply
#4
(12-27-2008, 01:01 PM)Jlagreen Wrote: I got a Leadtek 260GTX+ so it basically a Nvidia card.

The 90FPS was a different reason. You see the VSync option in GSdx is kinda broken so if you activate it the performance drops by ~ 1/3 but screen tearing really disappears (might be also because of low speed). So if I had constant 90FPS and activate VSync then FPS would drop to 60 but the game would be still fast enough and the screen tearing hopefully gone Smile.

I will test this now, I just need to know. In FFX/FFX-2 I could test as I get easily 100FPS in both games.
So you only need 60FPS after all... it's just a performance degrade problem.

I'm doing fine here at 60fps with gsdx with vsync on, on the few games I play. Speed is set to "limit" and 60fps and I'm getting 60fps, not 40 ;P. ATI HD4850 and E2160 @3.24.
Reply
#5
Ok it seems that was an issue in an older GSdx version. With 0.1.12 now I get also 60FPS with VSync On all the time and screen tearing is finally gone Cool. But there is one strange thing in FFXII as without VSync I got 115-120FPS and the GPU is nowhere at the limit as CPU limits any further speed. But with VSync On GSdx says that GPU usage is 99% all the time Blink. I have also Frames limited to normal speed (60FPS).
Reply
#6
@Jlagreen
The refresh rate of your LCD (I guess it is a LCD)
is 60 hz, which is 60 frame/second.
By doing vsync, you synchronize the rendering of frames
with what your screen is able to display.
Playing at 120fps is not a "normal speed",
in term of user experience.
You should set CPU speed option to limit .
Reply
#7
matsuri and bigmehdi, i think you don't understand the problem. i already heard of this problem before: when you activate vsync in gsdx, the performance will drop significantly. this has nothing to do with tft stuff and 60hz. for example, when you have 50fps with vsync deactivated (but screeen tearing), then fps will drop to maybe 30 or 40 with vsync activated.
i remember that this happened to me too in previous releases, but good to know that it's finally fixed :)
Reply
#8
It's only natural for VSYNC to degrade performance when it does not go smooth without.
VSYNC waits before displaying the next frame until after the screen got refreshed. If you have 59 fps, 60Hz screen before ( e.g. your CPU limits, framelimiting is not going well ... ) and every frame takes just a little more than 1/60 second VSYNC would wait almost another 1/60 second, reducing the framerate to 30 fps.

If you own NTSC games and a 60Hz screen you are lucky. Just disable framelimiting and enable VSYNC. The drawback is, that whenever there is slowdown in the game (<60fps) you'll get <30 fps
Reading the OFFICAL GUIDE can answer 90% of your newbie questions
SEARCHING the forums can answer 90% of your advanced questions.
Reply
#9
well I could use that option since FFXII runs pretty fast all the time. On average I get over 100 FPS but still I prefer to use Framelimiting and to switch off VSync to be on safe side. Usually the VSync problem kicks in when you least expect it and then it is very annoying.
Reply
#10
@VeaaC
that's right, but the performance with vsync activated in gsdx is only sometimes around 30fps (at least it was for me), so that was probably not the issue.
also there is something like triple buffering, where fps don't drop to 30 or 15fps when vsync is activated. in your case, it would still be at 59 and not 30. with nvidia cards, triple buffering is always used when vsync is activated in direct3d mode. i don't know if a program (like gsdx) can change that.
Reply




Users browsing this thread: 1 Guest(s)