Dolphin, the GameCube and Wii emulator - Forums

Full Version: Non-blocking CPU EFB access?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
The subject feature is an option in the Ishiiruka branch and it allows F-Zero GX to run twice as fast in the infamous Sand Ocean stages when enabled.
From my experience testing it, I don't see any obvious glitches in this game with this hack enabled.

Is this a feature the team would be willing to add as an option in the hacks section of the master branch?
No. I ran it by Stenzek a while back - it feeds the data in an inaccurate matter. It's worse than just turning off the effect altogether.
OK. Thanks for the info.
(10-12-2017, 01:59 AM)JMC47 Wrote: [ -> ]No.  I ran it by Stenzek a while back - it feeds the data in an inaccurate matter.  It's worse than just turning off the effect altogether.

After additional testing, it turned out that the feature that allows Ishiiruka to run that stage so much faster is not "Fast EFB Access" after all, but rather non-blocking CPU EFB access".  It is described in pull request #3652.

Does the pull request having a status of "closed" mean that it was rejected or simply that it will be incorporated at some point later on?
Looks like that one is possible. I think stenzek had a better implementation for it though that he wanted to do. There's other things he's spending his time on right now. I'll definitely ping him about it if it's a huge speedup.
Thanks. I cannot run it back to back because it is not a feature that is exposed to the user to disable but the difference in those stages between the master and Ishiiruka is literally ~90% on my system, i.e., almost double the speed. The discussion in the PR in Github quotes improvements in the order of 60%, which is still a huge speedup.

I know it is a limited scenario but if it is a reasonable code modification, every little bit helps.
(10-13-2017, 01:22 AM)themanuel Wrote: [ -> ]I know it is a limited scenario but if it is a reasonable code modification, every little bit helps.

The discussion about the fast EFB hack is not about efficiency, it is about the approval to return wrong values for better performance. We're fine with every small performance enhancement, also with very big code redesigns, if the emulation behavior is still correct. So this PR is fine, just Stenzek had proposed another way and hasn't finished since then. But we're very opposed to merge wrong but fast behavior, regardless if it still works fine in some popular games.
(10-14-2017, 04:31 AM)degasus Wrote: [ -> ]The discussion about the fast EFB hack is not about efficiency, it is about the approval to return wrong values for better performance. We're fine with every small performance enhancement, also with very big code redesigns, if the emulation behavior is still correct. So this PR is fine, just Stenzek had proposed another way and hasn't finished since then. But we're very opposed to merge wrong but fast behavior, regardless if it still works fine in some popular games.

Yep.  Perfectly reasonable.  Just to be clear it's not fast EFB access but "non-blocking CPU EFB access", as described in pull request #3652.
At any rate, I'll sit tight.  It looks like Sand Ocean may run full speed on master in the near future.
Thanks.
I just ran F-Zero GX on the latest dev build, constant 60fps on Sand Ocean with a full field of opponents. Also fullscreen @1080p, 3xIR, 8x SSAA, 16xAf and Hybrid Ubershaders.
(10-19-2017, 05:28 AM)nikeymikey Wrote: [ -> ]I just ran F-Zero GX on the latest dev build, constant 60fps on Sand Ocean with a full field of opponents. Also fullscreen @1080p, 3xIR, 8x SSAA, 16xAf and Hybrid Ubershaders.

Master build or Ishiiruka?
What CPU do you have?
What graphics back-end are you using?

Thanks.
Pages: 1 2