-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vk: Promote barycentric interpolation to 64-bit #13690
Conversation
Was curious to see if there's any noticeable performance hit/increase in GPU usage on a 2080TI, did the usual 5 game bench compared to latest master and in certain games the performance hit is absolutely insane (DeS in particular). Demon's Souls - Master is over 3x faster than PR, and GPU usage skyrockets to 92% Persona 5 - Performance is nearly halved and GPU usage is completely maxed out in PR build. GOW3 - Severe performance degradation and close to doubling of GPU usage. GOWA - Average FPS unchanged, however GPU usage nearly doubled TLOU - Minor regression in FPS, but GPU usage rises significantly All screenshots with results taken for this post:- System used for testing - 12700KF stock/2080TI with 527.56 drivers/W10 21H2 |
Okay, so turning Shader Quality to Low mostly resolved the performance hit from this PR in those 5 games tested in my previous post. If this PR is merged as-is, Shader Quality Low should be the new recommended default for NVIDIA cards since High will incur a crazy penalty to performance even on upper midrange cards like the 2080ti. Currently, Shader Quality is set to High by default in brand new installations of rpcs3. The few games that need Shader Quality High should be noted, and the recommended setting added to their respective wiki pages. |
I'll add an ultra setting instead above high. Low has too many performance-centric optimizations to be a recommended default. |
This PR build somehow removes almost entire vertex explosions on Need for Speed: Rivals. |
@kd-11 About the shader quality choice between low and high the user will select high waiting see better graphics. Shader "low" will output exactly the same graphics as are in PS3 ? Thanks for doing RPCS3 better in each new release ) |
Is the original issue that the game outputs the same values for all three vertices, and expects the pixel shader input to be exactly the same, or is that overall a precision issue? Since the RSX was made by Nvidia, considering how interpolation works on their modern GPUs, I'm not sure if games could reliably assume that for three same outputs, the input will be the same. However, if that's actually the issue, you can try changing the interpolation formula from |
RSX interpolation works differently than modern NVIDIA GPUs. Games absolutely rely on the interpolated attributes to be an exact match. I'll give the alternative interpolation a shot. |
Not exactly a performant solution especially with big shaders with tons of interpolation but it shouldn't be too much of a problem on modern hw.
Fixes #13686
Fixes #13682