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

vk: Resource management improvements #5988

Merged
merged 4 commits into from May 19, 2019
Merged

Conversation

kd-11
Copy link
Contributor

@kd-11 kd-11 commented May 17, 2019

  • Bumps max allocated draw call resources up to 16k from 4k to avoid easily running out of resources mid-frame in heavy scenes.
  • Use a simple FIFO queue for frame data handling. In future, this can easily be expanded to use a present scheduler thread for frame-pacing support.
  • The frame FIFO allows better management of descriptor pools; allowing them to be reset on acquisition of a frame context object that is guaranteed to have finished referencing it. This avoids a use-after-free situation that causes visual flicker on AMD hardware on some games like Infamous.
  • Also fixes a broken optimization check (inFamous [NPUA80480] crashes on Vulkan after #5565 #5600)

@Emulator-Team-2
Copy link

Emulator-Team-2 commented May 17, 2019

Fixed exploding vertices on AMD gpu's:
-Ratchet & Clank
-Yakuza 3 / 4
-Ratchet & Clank Future: Tools of Destruction

@Xcedf
Copy link

Xcedf commented May 17, 2019

Perhaps it's unrelated to this PR, but found a little improvement lately
Uncharted 2 the Train level, had some sort of ghost effect issue
22
now it's gone
1

@vietnam13231
Copy link

I see slight fps improvement in P5 in Shibuya streets (master 8143 = 30-35FPS, PR = 38-44 FPS) and bigger one in inFamous at the safehouse (master 8143 = 40-47FPS, PR = 55-60FPS). No other improvements or regressions.

@isJuhn
Copy link
Contributor

isJuhn commented May 18, 2019

performance in draw call limited starting scene in R&C ToD decreased from 12.5 to 10.5 fps

@Kravickas
Copy link
Contributor

400% scaling works again in NHL 16 👍

@kd-11
Copy link
Contributor Author

kd-11 commented May 18, 2019

@isJuhn Can't have both; either we get flickering or we get a lower performance if we exceed allocation. I'm surprised ToD is exhausing 16k draw calls.

@isJuhn
Copy link
Contributor

isJuhn commented May 18, 2019

@kd-11 after retesting with everything else closed the difference isn't as large as in my first test, 13-13.5 -> ~12 fps. what exactly do you mean by exhausting 16k draw calls? in the debug overlay it says there is only ~7700 draw calls.

@connorwalks
Copy link

Still can't play at 300% (4K) with NCAA Football 10, previously worked prior to PR #5977
RPCS3.log.gz

@kd-11
Copy link
Contributor Author

kd-11 commented May 19, 2019

@isJuhn That number is the number of batches, not individual draw invocations. Its kinda my fault really, I need to rewrite the dispatcher to not rely on descriptors too much. A streaming approach should work, I can use push constants to set up the draw uid.

@kd-11 kd-11 mentioned this pull request May 19, 2019
kd-11 added 4 commits May 19, 2019 16:45
- Use a simple queue to avoid redundant checks over all the contexts
- Poll queue if RSX pipe is idle
- Only check the queue when the frame context is dirty (after a queue operation)
- Reset descriptors at the start of the frame context to avoid having to synchronize mid-frame
- Fully synchronize if a descriptor reset is required mid-frame (spec compliance; also fixes flickering verts on some hardware)
- The 'max' index should take the first assigned ID; fixes problems with divisors
@psennermann
Copy link

This commit on my system (Win10, i7 7700, gtx1060 3gb) causes a lot of stuttering with NiNoKuni (Fps still show 30 but the game stutters as hell), any reason why?

@kd-11
Copy link
Contributor Author

kd-11 commented May 19, 2019

Framepacing probably; especially if your "RSX load" shows constant 99% and the game never checks for pending submissions.

@psennermann
Copy link

Do I have to open a new issue about this, or were you already aware and working on it?

@kd-11
Copy link
Contributor Author

kd-11 commented May 19, 2019

Just open an issue as I already started on another task.

@connorwalks
Copy link

the last commit that was merged into master fixes my issues with NCAA Football 10. Fully playable at 4K again :D

@alessandro784
Copy link

less fps with this build

@yell0wsuit

This comment has been minimized.

@SiberianHusky233

This comment has been minimized.

@kd-11
Copy link
Contributor Author

kd-11 commented May 20, 2019

Open a proper issue tracker if you have issues. Don't spam closed threads.

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