Dolphin, the GameCube and Wii emulator - Forums

Full Version: Copy EFB to Ram
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5
Copying EFB to system ram is just slow, but some games depend on it. Why not do EFB copies to Vram instead, this should be way faster than copies to the system ram.

Rodolfo's hybrid solution is definitely an improvement, but not without it's own glitches and it's still using the slow system ram to do EFB copies, except that it only checks for textures modified by the cpu else uses EFB -> Texture.

The video card is rarely utilized, so I feel that copying EFB to video card Vram may be the best solution and offer far better performance over copying to the system ram.
That's a good a idea due to fact that mostly all video cards are at least 512mb to 1gb vram in a graphics card that be massive improvement all games running on dolphin.

Hopefully soon someone can a solution for because i really want to use the most performance of my video card. Smile
Nifty idea, in and of itself; but the major problem comes with the coding that can utilize the graphics card properly. There are just so many graphic cards on the market, that even new PC games often have compatibility issues that take patches and hotfixes to figure out. And the amount of time and coding it'd take to do that would be like redesigning Dolphin from the ground up. Confused
The amount of graphics cards there are won't matter, just as long as there is enough Vram. I also realize that some people have poor integrated solutions, so still keeping Copy EFB to system ram around is advised and make Copying EFB to Vram a secondary option. However those with poor integrated solutions and poor specs are likely to use Copy EFB to Texture anyways so I don't see why not solely make EFB copies to Vram instead of system ram.

I've been meaning to suggest this for a while, but it looks like someone else had the same idea as me so I thought I would finally suggest this.
Sounds good to me. Those of us with 1GB VRAM would be happy with this.
Yes, I have wondered the same thing and have also asked the developers why "to texture" is a hack but did not get a reply. I have not looked into the code myself to make a call. My guess is that the link between the PC's CPU and the PC's video card is too slow for the number of data transfers being made. The other thing that might slow things down for "EFB to RAM" is the DLL link between dolphin.exe and the video plugin dll's. This is another reason why I am helping merge the video plugins into the exe. One day I'll get around to looking at "to texture" if someone doesn't get there before me.
I would presume vram would be a lot quicker than system ram with modern video cards, just that it would take a bit more work to implement. Games such as ZTP do a lot of EFB reads/writes, and dedicating the gpu and gpu vram to those tasks could possibly work and be better than the current implementation.
Quote:The video card is rarely utilized, so I feel that copying EFB to video card Vram may be the best solution and offer far better performance over copying to the system ram.

Ok I am a little confused now. I though efb to texture treated the efb as a texture stored in vdram. What exactly does efb to texture do then?

Quote:I would presume vram would be a lot quicker than system ram with modern video cards,

It would be. That's why I thought to texture was so much faster. Also I assumed that was the reasn why to texture didn't properly emulate everying due to issues with pointers from the cpu. Could you explain in detail how the current implementation of efb to texture and hybrid efb to ram work?

If efb to ram doesn't store the efb as a texture then what does it do?
The way a console works is that it has really good hardware (i.e. graphics card, CPU, ect...) but very little RAM. So in order to run games, they are produced to run games almost solely in VRAM, which poses a problem when you try to create an emulator, where PCs have alot of RAM, but not-so-good graphic cards.

I'm not sure how Dolphin uses EFBs, either to RAM or to TEXTURE, sense I have no experience with coding or software engineering. So those questions stump me. lol.
maybe efb to ram is the wii ram, which is emulated. efb to texture goes straight to the models I presume.
Pages: 1 2 3 4 5