• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › Development Discussion v
« Previous 1 ... 66 67 68 69 70 ... 117 Next »

Dolphin revs get slower?
View New Posts | View Today's Posts

Pages (3): « Previous 1 2 3 Next »
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Dolphin revs get slower?
02-11-2011, 07:41 AM (This post was last modified: 02-11-2011, 08:20 AM by Xtreme2damax.)
#11
Xtreme2damax Offline
New & Improved
********
Global Moderators
Posts: 3,135
Threads: 91
Joined: Mar 2009
Ehrm, some EFB to Ram issues may be due to this:

http://code.google.com/p/dolphin-emu/source/detail?r=6625

According to skid return hash; should be return GetHash64(dest_ptr,size_in_bytes,g_ActiveConfig.iSafeTextureCache_ColorSamples);

Neobrain never changed it after all this time. This was causing an issue with Prince of Persia Forgotten Sands with EFB to Ram where the drawing of textures was lagging producing a blurry/blotchy mess. Changing it to what skid suggested for both DX9 and OGL fixed this issue and likely other issues.
Find
Reply
02-11-2011, 08:06 AM
#12
NaturalViolence Offline
It's not that I hate people, I just hate stupid people
*******
Posts: 9,013
Threads: 24
Joined: Oct 2009
Have you told them?
"Normally if given a choice between doing something and nothing, I’d choose to do nothing. But I would do something if it helps someone else do nothing. I’d work all night if it meant nothing got done."  
-Ron Swanson

"I shall be a good politician, even if it kills me. Or if it kills anyone else for that matter. "
-Mark Antony
Website Find
Reply
02-11-2011, 08:19 AM
#13
Xtreme2damax Offline
New & Improved
********
Global Moderators
Posts: 3,135
Threads: 91
Joined: Mar 2009
I reported it in a comment to a specific commit that I thought was causing issues. I will open an issue if needed, but I think my reply in this thread should suffice.
Find
Reply
02-11-2011, 09:24 AM
#14
skid Offline
skidau / skid_au
**********
Developers (Some Administrators and Super Moderators)
Posts: 2,006
Threads: 8
Joined: Aug 2009
(02-11-2011, 07:41 AM)Xtreme2damax Wrote: Neobrain never changed it after all this time. This was causing an issue with Prince of Persia Forgotten Sands

gnick79 fixed it eventually in r6760.

Also the neobrain effectively allowed my EFB to RAM optimisation to be enabled/disabled by using the "Enable Cache" checkbox. So if you really are having issues with the optimisation (I doubt it, because it is logically sound), you can turn it off with the checkbox.
Find
Reply
02-11-2011, 09:44 AM (This post was last modified: 02-11-2011, 10:18 AM by Xtreme2damax.)
#15
Xtreme2damax Offline
New & Improved
********
Global Moderators
Posts: 3,135
Threads: 91
Joined: Mar 2009
(02-11-2011, 09:24 AM)skid Wrote:
(02-11-2011, 07:41 AM)Xtreme2damax Wrote: Neobrain never changed it after all this time. This was causing an issue with Prince of Persia Forgotten Sands

gnick79 fixed it eventually in r6760.

That wasn't the same fix you suggested though.

You suggested to change:

return hash;

to

return GetHash64(dest_ptr,size_in_bytes,g_ActiveConfig.iSafeTextureCache_ColorSamples);


The problem with PoP:FS with EFB to Ram occurred regardless whether or not the cache was enabled.

You can see the issue with PoP:FS by enabling EFB to Ram, then change that line and it should fix the issue.


Hmm, maybe the commit of gnick's you pointed out wasn't correct? I noticed the cache doesn't work after changing the line I pointed out, it's always enabled but gnick's seems to cause problems with PoP:FS?
Find
Reply
02-11-2011, 10:19 AM (This post was last modified: 02-11-2011, 10:21 AM by skid.)
#16
skid Offline
skidau / skid_au
**********
Developers (Some Administrators and Super Moderators)
Posts: 2,006
Threads: 8
Joined: Aug 2009
(02-11-2011, 09:44 AM)Xtreme2damax Wrote: That wasn't the same fix you suggested though.

It does the same thing. Two different ways to write the same function. That was the reason why I +1'd gnick79's commit.
(02-11-2011, 09:44 AM)Xtreme2damax Wrote: Hmm, maybe the commit of gnick's you pointed out wasn't correct? I noticed the cache doesn't work after changing the line I pointed out, it's always enabled but gnick's seems to cause problems with PoP:FS?
I don't have an explanation for what you are seeing here. I don't know.
Find
Reply
02-11-2011, 10:41 AM (This post was last modified: 02-11-2011, 10:55 AM by Xtreme2damax.)
#17
Xtreme2damax Offline
New & Improved
********
Global Moderators
Posts: 3,135
Threads: 91
Joined: Mar 2009
Clearly the issue with PoP:FS is due to the new efb to ram code, by changing the line I pointed out the issue is resolved but I can't disable the cache.
It's gnick's code in TextureConverter.cpp thats causing it or the fact that return hash; needs to be changed to what you suggested otherwise it causes problems in PoP:FS with EFB to Ram.
Find
Reply
02-11-2011, 03:23 PM
#18
neobrain Offline
"Wow, I made my code 1000x faster! That means I can make it 2048x slower now!"
**********
Developers (Some Administrators and Super Moderators)
Posts: 3,208
Threads: 50
Joined: Jun 2009
That enable-efb-to-ram-cache thing is a nice speedup hack, but heavily depends on the ATC setting since the EFB hash is affected by this setting. If you only use an "unsafe" ATC you'll end up missing some texture updates, which is why that cache results in the same behavior as EFB to texture in nsmbw (unless you set ATC to safe, which kinda defeats the purpose of the hack).

If you disable the hack, you right now end up reloading the RAM data each time into the texture which is kinda slow. Additionally due to some bad code design we're doing an almost totally useless EFB copy to texture which makes the EFB copy to RAM implementation even slower than before... Instead of that EFB copy cache option we should actually have "EFB to RAM", "Hybrid EFB to RAM" and "EFB to texture" as options, which would be a lot cleaner. That's on my TODO list but I havent got around implementing it, yet.
My blog
Me on Twitter
My wishlist on Amazon.de
Find
Reply
02-12-2011, 02:53 AM
#19
NaturalViolence Offline
It's not that I hate people, I just hate stupid people
*******
Posts: 9,013
Threads: 24
Joined: Oct 2009
Quote: Instead of that EFB copy cache option we should actually have "EFB to RAM", "Hybrid EFB to RAM" and "EFB to texture" as options, which would be a lot cleaner. That's on my TODO list but I havent got around implementing it, yet.

I remember suggesting this back when hybrid efb to ram was first introduced. But I was shot down by everyone (including you) because it was said that hybrid efb to ram was just as accurate as real efb to ram but significantly faster, so their was no point. Has something changed since then?
"Normally if given a choice between doing something and nothing, I’d choose to do nothing. But I would do something if it helps someone else do nothing. I’d work all night if it meant nothing got done."  
-Ron Swanson

"I shall be a good politician, even if it kills me. Or if it kills anyone else for that matter. "
-Mark Antony
Website Find
Reply
02-12-2011, 05:50 AM
#20
neobrain Offline
"Wow, I made my code 1000x faster! That means I can make it 2048x slower now!"
**********
Developers (Some Administrators and Super Moderators)
Posts: 3,208
Threads: 50
Joined: Jun 2009
Back then I didn't know that Hybrid EFB copies depend on ATC and thus would be error-prone. I'd need to look again how that stuff was implemented before skid's optimization, but IIRC I only thought of that problem after that...
My blog
Me on Twitter
My wishlist on Amazon.de
Find
Reply
« Next Oldest | Next Newest »
Pages (3): « Previous 1 2 3 Next »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 2 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode