Dolphin, the GameCube and Wii emulator - Forums

Full Version: Direct3D peformance regression on AMD since the "optimizations" in 4.0-3926
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
(11-03-2014, 12:21 AM)Link_to_the_past Wrote: [ -> ]Btw those settings are crazy demanding and except efb to ram unnecessary to play the game. You don't need 6x ir unless you have a 4K or higher res monitor and texture cache can be set in the middle and it will work fine.

The recommended setting (SafeTextureCacheColorSamples = 512) is fine. I know that. Safe Texture Cache (SafeTextureCacheColorSamples = 0) was used only for benchmarking.

6xIR is not a very demanding setting. Any budget/mid-range GPU can handle 6xIR these days.

It looks much better than 3xIR or 4xIR at 1080p (super sharp + no aliasing) while being less demanding than using 3xIR plus any type of AA (MSAA or SSAA).

AA is a performance hog (especially Dolphin's incredibly slow Direct3D11 implementation of MSAA). OpenGL SSAA is also not a good option (one of the settings either doesn't improve the image quality that much or doesn't work properly while the other one is very slow or introduces nasty graphical glitches). Increasing the IR on the other hand is a much easier job for the GPU, free of issues and improves the image quality more than any other type of AA.

What about using IRs higher than 6x? The good news is that they DO NOT offer any improvement in image quality over 6xIR.
You can set Dolphin to render at 20xIR and it wll still look the same as 6xIR, but use loads of VRAM and perform like a slideshow.

All Dolphin needs now to improve the image quality even further is to replace the Bilinear filter with a Nearest Neighbor filter for 1xIR and a Lanczos downsampling filter for high IR settings.

6xIR + EFB->RAM + Safe TexCache is an optimal setting for a TexCache stress test / benchmark.
I'd love to see you try to prove that with benchmarking results.
@kirbypuff I want to see actual figures.
This format would be good:
________________________________

Run 1 first test; first build: value
Run 2 first test; first build: value

Run 1 first test; newer build: value
Run 2 first test; newer build: value
________________________________

Run 1 new test; first build: value
Run 2 new test; first build: value

Run 1 new test; newer build: value
Run 2 new test; newer build: value

OK?
Here's a quick benchmark (I'll post another one once all threads are merged)

NSMB (W1-1) Direct3D, 6xIR, EFB->RAM, Limiter OFF, all other settings at default, shader cache "warmed up" before the bench run

4.0-3681 (with cache 3D state, but before the PR #1414 commit)
-----------------------------------------------------------------------------------
1st run = skipped due to the exclusive FS bug
2nd run = 43 fps
3rd run = 43 fps
4th run = 43 fps
stable fps in other areas

4.0-4031 (latest dev/master)
-------------------------------------
1st run = skipped due to the exclusive FS bug
2nd run = 38~39 fps
3rd run = 38 fps
4th run = 38 fps
after a minute or so, it jumps to 42fps for half a second and then returns back to 38~39

But in other areas, the framerate is not stable, it dips frequently to 3fps below avg

and for comparison - the latest Ishiiruka build (with the same settings)
------------------------------------------------------------------------------------------
1st run = skipped due to the exclusive FS bug
2nd run = 59 fps
3rd run = 59 fps
4th run = 59 fps
stable fps in other areas
There are more than 300 commits in between, you should test right before the offending commit and the offending commit itself.
(11-03-2014, 10:49 PM)Link_to_the_past Wrote: [ -> ]There are more than 300 commits in between, you should test right before the offending commit and the offending commit itself.

It's PR#1414 (dev build 4.0-3926) The difference in performance between that build and 4.0-4031 is less than 1%.
Link_to_the_past Wrote:There are more than 300 commits in between, you should test right before the offending commit and the offending commit itself.

A quick benchmark:

NSMB W1-1 , D3D , 4xIR, EFBtoRAM
-----------------------------------------------
4.0-3921 = 50 fps
4.0-3926 = 47 fps
Kirby, what are your specs anyway?
(11-06-2014, 06:22 PM)DatKid20 Wrote: [ -> ]Kirby, what are your specs anyway?

Click on my username and you'll see them.

EDIT: Cleaned up and updated the first post.
You do know there are plenty of Phenom II models (a whole family of microprocessors)? http://en.wikipedia.org/wiki/Phenom_II
Pages: 1 2 3