PCSX2 / pcsx2

PCSX2 - The Playstation 2 Emulator
https://pcsx2.net
GNU General Public License v3.0
11.71k stars 1.62k forks source link

Driv3r Flicker GSDX HW OGL, GSDump even weirder. #923

Closed refractionpcsx2 closed 4 years ago

refractionpcsx2 commented 8 years ago

Ok this is strange.

Note: I have tried the blending accuracy, depth settings and hw hacks, none make a difference from what I can tell.

In recent GSDX enhancements Driv3r has gotten much much better, however there is still some weird flickering textures over seemingly random areas, almost like lighting bugs. The bug seems to go away for about a second or so if you switch renderer and back to HW OGL, then the flickering in random areas of the screen starts again.

What is strange, if you see the attached dump, this was taken ingame, i tried twice to make sure, however most of it displays the "Do you want to create a memory card save" screen with a single frame of the ingame graphics.

Hopefully this is some help to you @gregory38 :P

GS Dump: driv3r-flicker.zip

gregory38 commented 8 years ago

The game uses a ton of effect. Was a GSdx version than that

screenshot - 10242015 - 10 35 03 pm

gregory38 commented 8 years ago

Oh level 3 of accuracy is a bit better.

refractionpcsx2 commented 8 years ago

Doesn't look that bad when you're actually playing it :/

gregory38 commented 8 years ago

Honestly, it would be very hard to fix it and I suspect the game is slow (VS the SW). I'm around 10K complex draw for a frame. Anyway, the game uses very strange texture. Yes it is after palette conversion. I let's you imagine the filtering stuff.

example

Later the game will read back the RT as a 8 bits texture and reapply a new CLUT.

Anwyway, I think the first issue is related to PR #806 Game reads depth as a 16 bits colors and my code wrongly implement it. I try to quickly fix it on the PR but it breaks others stuff. So I need to redo it.

refractionpcsx2 commented 8 years ago

Cool, well I'm glad it's not too confusing of an issue anyway :) But you'll make a certain @JMC47 very happy if you manage to fix this game up :P

JMC47 commented 8 years ago

The weird thing is when I was using OpenGL the other day, there weren't really any graphical glitches like displayed above in OpenGL hardware renderer. I didn't play super long, but in the area shown above, it looks just fine. My main issue with the game is performance, which honestly doesn't matter in terms of accuracy/everything working.

gregory38 commented 8 years ago

Image is less horrible with (less) blending accuracy. However for the speed it would be hard to do better. There are tons of texture conversions and too much effects. 10K complex draw calls is just too much (probably close of 15-20K gl draw calls)

Potential improvements are 1/ Allow to sample-convert the texture in-place. For example the depth buffer is converted to a texture color with a dedicated shader. And then we use it to do the GS rendering. The idea is to fuse those 2 steps. 2/ Bypass some texture conversions to emulate the post-processing effect directly.

refractionpcsx2 commented 8 years ago

The image is pretty much okay when you're actually playing it, you just get some very distracting black blocks flashing on the screen from what I can tell.

gregory38 commented 8 years ago

@FlatOutPS2 was it fixed or did you post the message in the wrong issue ?

FlatOutPS2 commented 8 years ago

Wrong issue. I had both issues open at the same time and must somehow have switched tabs without noticing.

This is a hardware mode only issue, the fix was for a software issue.

FlatOutPS2 commented 8 years ago

Although as I posted in my report on the forum(http://forums.pcsx2.net/Thread-DRIV3R-SLES-50876-E), by using OpenGL with hardware depth and CRC hack level set to Partial most of the flickering and shadow issues are gone.

refractionpcsx2 commented 5 years ago

Game looks fine now, although the cars have rainbow textures on them. OGL is quite slow for me, about 30-50FPS, DX is locked at 60FPS image

tadanokojin commented 4 years ago

If everything else besides the texturing is sorted I'm closing in favor of #451