Skip to content
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

GS: Use stream buffer for vertices/indices/uniforms #4906

Merged
merged 3 commits into from
Oct 30, 2021
Merged

GS: Use stream buffer for vertices/indices/uniforms #4906

merged 3 commits into from
Oct 30, 2021

Conversation

stenzek
Copy link
Contributor

@stenzek stenzek commented Oct 16, 2021

Description of Changes

This provides a serious performance improvement for AMD on Windows. For example, in Half-Life, performance goes from around 50fps to 130fps. Unfortunately this is built on my GL context refactor, so this PR will appear huge until that's merged. The last two commits are the ones to look at.

Rationale behind Changes

Stalling the GPU all the time is slow.

Suggested Testing Steps

Make sure games aren't broken. GS heavy games in particular would be a good test.

@lightningterror lightningterror added this to the Release 1.8 milestone Oct 16, 2021
@refractionpcsx2
Copy link
Member

refractionpcsx2 commented Oct 16, 2021

Some of the improvements I got in native resolution on an RTX 2080Ti

Need for Speed Most Wanted:

Master: 75.49fps
PR: 82.46fps

Metal Gear Solid 3:

Master: 126.76fps
PR: 143.50fps

World Rally Championship:

Master: 93.63fps
PR: 107.05fps

Sly 3 (at start position):

Master: 63.28fps
PR: 77.97fps

@lightningterror
Copy link
Contributor

lightningterror commented Oct 16, 2021

Native Res, on AMD R7 360

DBZ Budokai Tenkaichi 3
Master: 55 fps
PR: 81 fps

Sly 2
Master: 25 fps
PR: 33 fps

Half Life
Master: 92 fps
PR: 200 fps

@JordanTheToaster
Copy link
Member

JordanTheToaster commented Oct 16, 2021

Native res on an RTX 2060 Super

Underground 2
Master 122 fps
PR 130 FPS

Native res on an RX 570

Underground 2
Master 31 FPS
PR 74 FPS

@MrCK1
Copy link
Member

MrCK1 commented Oct 16, 2021

1070, native res, no blending

Tomb Raider Angel of Darkness
Master: 155FPS
PR: 177FPS

Hitman Contracts (GS heavy)
Master: 90FPS
PR: 104FPS

Syphon Filter Dark Mirror:
Master: 110FPS
PR: 118FPS

Drakan Ancients Gates:
Master: 145FPS:
PR: 180FPS

MDK2 (margin of error, mostly unchanged):
Master: 230FPS
PR: 235FPS

Hitman 2 (margin of error, unchanged)
Master: 350FPS
PR: 350FPS

Call of Duty Finest Hour (margin of error, unchanged):
Master: 68FPS
PR: 68FPS

@ghost
Copy link

ghost commented Oct 17, 2021

With my overclocked 3070, the performance uplift is a tidy bit higher compared to the refraction scores but nothing mind-blowing in comparison.

Metal Gear Solid 3 for example:

Master: ~129fps
PR: ~151fps

However, it is worth mentioning that the performance boost is especially notorious on GS limited games and when running with the frame-limiter off, Oni for example goes from ~24fps to ~65fps in the worst case scenario (kind of linked to this issue #4813), but this doesn't really close it as the perf impact is still present.

video.mp4

The incredibles water scenes would be a nice test too, but I don't have the game near to me right now, easy tho, just load the "Nomanisan" level and walk near of a water surface.

@JordanTheToaster
Copy link
Member

NULL still crashes on Windows.

@github-actions github-actions bot removed GUI/WX Dependencies Pull requests that update a dependency file DEV9 PAD SPU2 GS: Direct3D 11 USB labels Oct 30, 2021
It's "NVIDIA Corporation" on Macs, and on Windows we don't support any
GL3 GPUs anyway.
@refractionpcsx2 refractionpcsx2 merged commit 20ab4db into PCSX2:master Oct 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants