Dolphin, the GameCube and Wii emulator - Forums

Full Version: Texture Forwarding Capabilities
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Recently,the 3ds emulator Citra unveiled a new method of rendering games in HD resolution at a much faster performance than the standard old method and with greater compatibility than the old method.
There's screenshots and everything with a graph comparing the old with the new method.

https://citra-emu.org/entry/texture-forwarding-brings-hd-output-to-citra

I hope someone can look at this and try to get it implemented if it can work,it would be quite useful for Android to make games look better without suffering major performance slowdowns.
For example,texture forwarding would have much better compatibility than EFB to Texture along with faster performance in HD resolutions like 1080P and 4K.
"Store EFB Copies to Texture Only" or "EFB to Texture" is extremely similar to what citra is now doing. There are a few things that Citra is doing with CPU hooks that are neat, but with the vastly different GPU in the GC (it literally couldn't be more different), for Dolphin would be extremely taxing and destroy performance!
What? Texture Forwarding is slower than Dolphin's EFB2Tex but faster than Dolphin's EFB2RAM. The equivalent feature in Dolphin will be locking.
I think it would already have been done if it were possible in Dolphin. And doesn't the hardware Dolphin emulates work differently anyway? (so is it even possible to "port" such a feature?)

If your intention was to make Dolphin run faster on Android, well, I don't think it will help much.
There is no need to copy and paste links of other emulators here. We know the other emulator devs quite well, and most dolphin devs have already read this news.

(05-08-2016, 06:51 AM)retroben Wrote: [ -> ]it would be quite useful for Android to make games look better without suffering major performance slowdowns.
That's just wrong. Dolphin is by far more full-fledged, do you really think we already have this kind of forwarding already? We call it EFB-to-Texture. It's 100% the same. But the invalidation, we hash the textures, citra checks this on every memory access. Just think about which one is faster Wink

Hint: Please reead this article, and look on the focus. Citra now supports upscaled rendering. That's the big point. We already do so.
Primarily thinking about the better compatibility when using HD upscaled resolutions.
It's not exactly about being faster than EFB to Texture,it would actually be a really good middle setting if it's faster than EFB to RAM,provided it is even possible to use.
You would get better compatibility than EFB to Texture and faster speeds than EFB to RAM,complete with HD resolution rendering since EFB to RAM can't make everything render that way and EFB to Texture having compatibility issues.
Just think about "that one game" that doesn't render well at all upscaled using EFB to Texture but also grinds to a halt when using EFB to RAM,and would Wind Waker crash on the Pictobox using Forwarding like it does on EFB to Texture?
As long as it is equal or faster than EFB to RAM,why not have that extra mode to choose from?
An example would be that I get nearly the same performance in each mode with Simpsons Hit and Run,some cases EFB to RAM actually managed to go a bit faster even compared to 1x IR with Texture only.

Even if it can't be used as is,maybe an equivalent of Texture Forwarding matching the GCN/Wii processors would be possible,having 100% compatibility when using upscaling instead of having rendering issues in some games.

Here is an exact quote from the video thumbnail.

Quote:Better yet,unlike Dolphin's similar feature
"Store EFB to Texture Only"
Texture Forwarding will be 100% compatible with games

Though something else I think deserves more priority to be implemented,using Vulkan would very likely make things much faster,especially on Android compared to even the best OpenGL ES drivers,the benchmark sample app with schools of fish proves it between modes.

If only there was some other skilled individuals that would make a branch for Vulkan on Android to try to get it running really fast thanks to how good Vulkan can be with better desktop strength GL support and low level/direct processor access.
A sub-team like the one that made Ishiiruka a reality but destined to make a powerful Android branch in likeness of that. Smile
Quote:100% compatible

(Not a dev, so please correct me if I'm wrong)
Since the implementation is 100% the same as EFB to texture as degasus has said, you're basing this on a flawed assumption, that Dolphin hasn't yet implemented texture forwarding, but that is actually just another name for EFB to texture.

If the feature is implemented the same way, and game compatibility is not the same, who's to blame? The implementation or the games? I would say it's the latter.

Now for Vulkan. So far, it's at best a dream, at worst an useless, unrealistic suggestion since no one seems interested enough to add support for it. Especially when drivers still barely have support.

Also, EFB to texture is compatible with most games. If your device really struggles with EFB to RAM for the games that do need it (WW for example), even if this hypothetical feature were to be implemented, giving a slight speed boost, you're still not going to get an enjoyable experience. Current Android devices are just not powerful enough.
retroben: Funny assumptions, but they are all wrong. Have a nice day!
I think a lot of these assumptions are happening because Citra's video specifically names Dolphin's EFB to texture feature as something that's slower and less compatible. If they're making claims like that, it suggests that Dolphin's doing something worse.
Yeah I'm not happy they did that because now users are making threads like these and being 100% wrong.
Pages: 1 2