Emulator Issues #4635
TexCache Rewrite issues
Figure we might want to have one report to start out tracking these buggers and once the bugs become more sparce, can log individual bugs.
Bug 1) NBA Jam has garbled/discolored gfx in the menus. Previously this game needed SFC to avoid similiar gfx issues.
#4 Updated by wespipes69 over 9 years ago
Ok, sorry it has nothing to do with DX9 vs. DX11 - 9 was set to EFB>Virtual and 11 was set to EFB>Ram. Using Virtual, games are now rendered hi-def, BUT not in the case of DKCR. I don't remember EFB>ram have this hi-def issue before in these games, but I'm not sure.
Also, what is the new "Virtual" option, I thought it was like "texture", but it can be on at the same time as "Ram"? It's a little confusing. So what results should the following yeild?
Virtual = ?
Ram = ?
Virtual+Ram = ?
#6 Updated by john.poubelle over 9 years ago
MP3 + OpenGL : no text as of rev 7365
MP3 + DX9 / Virtual+Ram : Looks perfect but VERY slow. Also, kind of systematic crash where it did not use to be
Grand Slam Tennis + DX9 / Virtual + Ram : text perfect (this is a great improvement) but colours destroyed
#9 Updated by Nolan.Check over 9 years ago
When a game performs a render-to-texture effect, it sends a command to the GP to export a portion of framebuffer to RAM. Later, it can reference that area of RAM as a texture.
Here are the options for emulating this:
RAM: Dolphin performs the actual framebuffer-to-RAM transfer. Some games require this.
Virtual: Improves the quality of the effects by storing a high-resolution copy of the framebuffer. When the RAM area is used as a texture, load the high-resolution copy instead.
You can enable both simultaneously. Dolphin detects if the copied RAM was modified by the CPU before being used as a texture again. If so, the high-res copy is discarded and the texture is reloaded from RAM. This causes the scaling problem in DXCR. I'm not sure what the game is doing to the texture.
#11 Updated by wespipes69 over 9 years ago
Ok, got it. Thanks for the explanation. Sorry for getting off topic, but hey, it's my topic. :) So would this be correct then?
Ram: Pure, slowest but seems unneccessary. Slowest speed.
Ram+Virtual: Best of both worlds - full accuracy plus hi-res textures most of the time. Medium speed.
Virtual: Always hi-res, but may cause glitches in some games. Fastest speed.
@Neo or Nolan:
Wouldn't it make more sense to have 3 options in the UI now:
"Virtual", "Ram" and something like "Mixed", "Virtual+Ram", "Both", "Combo", or "Full".
And then we'll need something for the inis to differenciate between the 3 and set this per game. Currently we can only toggle on/off the "Virtual" option.
#17 Updated by wespipes69 over 9 years ago
RE Darkside Chronicles gun reticle glows when you have a prime head shot, but now these squares appear instead. Occurs with all EFB settings and this game makes heavy use of EFB>Ram & STC I believe. This worked fine a couple week ago in around r7600. Screenshot:
#19 Updated by darkvalen21 over 9 years ago
Since I've started testing this branch and now in the official one, Mario Kart Wii freezes (with music continuing) after 15-30 seconds of starting a race with pretty much any combo of plugins/settings.
Configs tested: Open GL, DX11, DX9, JIT, JITIL, x64,x86 (EFB disabled and enabled)
Isos: Mario Kart Wii PAL and USA.
My specs: I7 @ 4Ghz, GTX 570 SLI, Windows 7 64b, 6GB RAM
#20 Updated by hatarumoroboshi over 9 years ago
007 GOLDENEYE (Wii) at the beginning the lights effect on the reflecting floor (lamp reflected) are wrong (green color with Virtual+RAM or only RAM - almost right color with only virtual but all messed up on the screen);
FINAL FANTASY CRYSTAL CHRONICLES (GC) messed up colors in the menu with every EFB combination (violet/green colors - it's the same effect as without safe texture cache on standard version).
#21 Updated by NeoBrainX over 9 years ago
The other type of issue, UI inconsistency.
Since the texcache-rewrite merge you cannot tell users to "uncheck all checkboxes in the hacks tab for maximum accuracy" since, as far as I understand, "RAM + NOT virtual" is the most accurate setting in this case.
I intentionally designed the new dialog UI to use this behavior, it would be nice if you somehow fixed it accordingly. Change RAM to "Do not track RAM updates" (or CPU updates or whatever) or sth ;)
#26 Updated by stephen.gutknecht over 9 years ago
Wii Sports Bowling and other games I see a huge slowdown and the Mii's render worse, black elements. i7 2.0Ghz with ATI Radeon 11.6 drivers (turbo goes to 2.7Ghz on two of the cores for Dolphin).
Where I would see 64 FPS in Bowling, I now am lucky to get 48.
#27 Updated by cloud101090 over 9 years ago
Found a graphical corruption on No More Heroes 2 with r7625 & later revision (Compared with r7623 & previous rev). All rev used same setting, except The EFB Copies...
r7623 used EFB Copy to Texture
r7625 used EFB Copies to Virtual only (Not mixed).
Some Screenshot Comparison :
with r7625 there are duplicate transparant graphic on all scene.
Of course this problem can be solved if EFB Copies to RAM ia checked...but it decreased FPS a lot (unlike previous rev with no graphical corruption only set to texture)
#29 Updated by LM1234 over 9 years ago
more problematic games:
- Crazy Taxi (dx9/dx11/ogl - virtual/real) - intro not visible
- Super Monkey Ball 2 (dx9/virtual... - challenge/beginner/stage5 - gfx probs)
( http://www.shrani.si/t/M/WU/21AJh7hA/gm2e8p-5.jpg )
- problems with real XFB
- Vievtiful Joe (GC)/Bomberman Jetters (GC)/Tube Slider (GC)/...:
- DX9 - broken
- DX11 - working ok
- OGL - partially working
#33 Updated by hatarumoroboshi over 9 years ago
- NBA LIVE 2003 (GC) the parquet is almost white (DX9 and OpenGL) while it has to be light brown (as it it displayed correctly in Dolphin 3.0); also there are other graphical gliches with the letters in the menù (some black borders around them) and since this is not the first game with this problem, I think that the texcache rewrite version has generally some problems in displaying them correctly. Furthermore using OpenGL you cannot see the body of the players (only face, arms and shoes are visible)
#35 Updated by stephen.gutknecht over 9 years ago
In addition to my report earlier in Comment 27 - I am on a new laptop system.
Dell Latitude E6520 - Intel Core i7-2720QM (2.20GHz base, runs 3.0Ghz turbo in Dolphin); Nvidia NVS 4200M 512MB GPU.
For testing, I turn off FPS limit and Audio FPS limit.
On Dolphin 3.0 x64, Windows 7 x64, I get 85+ FPS in Wii Sports Bowling while getting ready to throw the bowling ball. With latest release, R7689 - I see only 58 FPS. This is a 50% slowdown! This started with the TexCache Rewrite.. and I can see this slowdown in many other places (menus, etc). I try both DirectX9 and DirectX11, same general slowdown with the latest builds.
Has there been any kind of statement as to settings or the general expectation of Dolphin performance with this rewrite? I see no improvement in the emulation behavior, and I like the other new changes in post 3.0 versions, but this slowdown is HUGE... is there some way I can assist to profile and identify why it is so different?
#36 Updated by stephen.gutknecht over 9 years ago
Cool! Well, then R7690 I tried - running better than ever! I turned off the EFB to RAM.
Just to make this post more useful ;) Here are screen shots of Wii Sports Bowling. Nvidia NVS 4200M 512MB on i7-2720QM running at 3.0Ghz Turbo. On this screen... on same settings (FPS turned on, 640x480 internal res)...
DirectX11 gets around 75FPS peak: http://sites.google.com/site/stephengutknecht/Home/WiiSports_r7690_x64_DirectX11.png - RENDERS Mii Perfect!
DirectX9 gets slower, around 60FPS peak: https://sites.google.com/site/stephengutknecht/Home/WiiSports_r7690_x64_DirectX9.png - Mii renders with corruption
OpenGL is about inbetween speed, 68FPS peak: https://sites.google.com/site/stephengutknecht/Home/WiiSports_r7690_x64_OpenGL.png
So, on my hardware, DirectX 11 is far outperforming DirectX 9 - and it is rendering the Mii attributes correctly on 11 :)
#38 Updated by Nolan.Check over 9 years ago
baby.lueshi: That sounds like something that could happen if the game doesn't send a tmem invalidation command to the GP before using the modified texture. That means the homebrew apps are buggy, and it's only by chance that they work on real hardware.
Currently we skip the texture hash-checking if the tmem has not been invalidated, so the data could change and we wouldn't reload the texture until an invalidation command is received.
We could ignore tmem validation and just hash-check every single time the texture is used, but that might be slow. Maybe we could compromise by forcing tmem to invalidate on every frame.
#40 Updated by greenarrowvigilante over 9 years ago
This might be caused by this problem as well http://code.google.com/p/dolphin-emu/issues/detail?id=4654
@comment 28: As you can see in the last comment of my linked issue the problem appears with r7625 as well.
Also, this might be related:
#50 Updated by hatarumoroboshi over 9 years ago
I noticed an improvement only in Disney Epic Mickey, instead in other games the rewrite brought some problems...so it is gonna be replaced soon by the default version?
Btw what happened to the revision numbers? I can't understand anything with that sort of alphabetical versions, not to tell the "invisible" revisions with missing links that don't even show on the changes log...are these dev-only revisions?
#58 Updated by arturbc93 about 9 years ago
I liked of the texcache-rewrite, but was removed due to some bugs that was causing, but instead could add this method with the current, depending on the game that the User can choose what works better. Well that could give a 2nd chance, because in games with Miis, it works at full speed without losing face, I compared the r7719 EFB Virtual with GLSL-master_3.0-294 and the 3.0-306 with EFB to RAM, but the r7719 works up to 3x more fast than the others, without lose the faces of Miis or if the same speed with EFB to texture, the GLSL-master_3.0-294 and the 3.0-306 lose the faces of Miis or the shadows in Lost in Shadow, tested with the games Wii Sports, Wii Sports Resorts, Wii Play, Wii Music, Wii Party, Mario & Sonic at the Olympic Games, Mario Kart Wii, Lost in Shadow, etc.