Dolphin, the GameCube and Wii emulator - Forums
Texture Cache, EFB, how it works? - Printable Version

+- Dolphin, the GameCube and Wii emulator - Forums (https://forums.dolphin-emu.org)
+-- Forum: Dolphin Emulator Discussion and Support (https://forums.dolphin-emu.org/Forum-dolphin-emulator-discussion-and-support)
+--- Forum: Support (https://forums.dolphin-emu.org/Forum-support)
+--- Thread: Texture Cache, EFB, how it works? (/Thread-texture-cache-efb-how-it-works)



Texture Cache, EFB, how it works? - Qaazavaca Qaanic - 04-28-2013

Does texture cache accuracy matter when efb -> ram, or when it's to texture, or both? Or does it only matter when it's cached?
And will setting EFB to Tex affect anything negatively? As in: are there any bugs that require setting it to ram, but it's not specified in the game INI?


RE: Texture Cache, EFB, how it works? - Shonumi - 04-28-2013

neobrain gave me this post of his a while ago, it's about the Texture Cache: http://forums.dolphin-emu.org/Thread-safe-texture-cache-is-not-in-newer-revs?pid=164693#pid164693

From what I can tell, Dolphin does not use texture caching with EFB -> RAM unless Enable Cache is checked. Texture caching should improve performance over having to decode a texture from the emulated RAM every single time the game wants to use a texture, so naturally enabling caching boosts the speed with EFB -> RAM. However, you can introduce texture inaccuracies if the hash used by the texture cache doesn't indicate to Dolphin that a texture has recently changed (when in fact it has changed), so it affects both EFB -> Texture and EFB -> RAM with Cache enabled.

A note to any passing dev (yo neobrain) please correct me if I'm wrong. This topic specifically and recently came up in discussions about the Dolphin manual, and we need that to be as accurate as possible.

There are some games where EFB -> RAM might not be the default, simply because the graphical issues are minor (not gamebreaking) and the fact that EFB -> RAM is demanding for some systems. One example, iirc, would be NSMB (see the wiki for info about the Blue Coins). You can play the game just fine with EFB -> Texture, but because of the performance cost of EFB -> RAM and the fact that Texture does a fine enough job, it's not the default in the .ini. I haven't updated my .inis in a while though, so it may have changed.

At any rate, look at the wiki for each game if you want a complete idea of what needs RAM and what can be left alone on Texture. Generally, most games are fine with Texture, but you should look up those that aren't.


RE: Texture Cache, EFB, how it works? - neobrain - 04-28-2013

Of course texture caching is used when efb to ram is enabled. It doesn't apply to EFB copies (unless caching is enabled), but it does apply to regular textures.


RE: Texture Cache, EFB, how it works? - Qaazavaca Qaanic - 04-29-2013

OK got it.
And why has my system slowed down over the last thousand revisions to the point where my 4.0 ghz i5 and nvidia 660 can't play Mario Kart at full speed with EFB to RAM on any vid backend? Is that opt more demanding on mem or CPU speed?