dEnigma Wrote:Also look at the DirectX 9 backend which used to be the most reliable and stable and now it starts to show its shortcomings
It's still the most reliable/stable of the three on my end. I honestly don't care about the extra performance now that I have this beastly rig. I'm going to keep using it until that changes. Neobrain on the other hand seems to see it as some kind of pest that he can't get rid of "ugh get it off me! get it off me!".
(04-16-2013, 03:18 AM)Starscream Wrote: [ -> ] (04-16-2013, 02:02 AM)dEnigma Wrote: [ -> ]Also look at the DirectX 9 backend which used to be the most reliable and stable and now it starts to show its shortcomings
You make it sound as if DX9 suddenly broke itself. People were making changes to the other backends and they didn't really care if those changes affected DX9 in negative ways. That combined with Rodolfo being forced to either make miracles happen or let DX9 die, you can see why DX9 might have some "shortcomings" at the moment. DX9 was tossed in the trash and forgotten about for a time.
I was under the impression that some features are really hard or near impossible to add to DirectX 9 while the other backends allow for easy implementation. I'm not saying that all those new issues with DirectX 9 where there all along, but they might be unavoidable due to the mentioned implementation problems. But then again that's just how I understood the situation.
(04-16-2013, 04:19 AM)NaturalViolence Wrote: [ -> ]It's still the most reliable/stable of the three on my end. I honestly don't care about the extra performance now that I have this beastly rig. I'm going to keep using it until that changes. Neobrain on the other hand seems to see it as some kind of pest that he can't get rid of "ugh get it off me! get it off me!".
I was mostly judging from what I heard about the tev_fixes branch and what I saw myself while testing it. On the other hand most of that information I got out of neobrain's posts (even though I might have misinterpreted some of it).
(04-16-2013, 05:14 AM)dEnigma Wrote: [ -> ] (04-16-2013, 03:18 AM)Starscream Wrote: [ -> ] (04-16-2013, 02:02 AM)dEnigma Wrote: [ -> ]Also look at the DirectX 9 backend which used to be the most reliable and stable and now it starts to show its shortcomings
You make it sound as if DX9 suddenly broke itself. People were making changes to the other backends and they didn't really care if those changes affected DX9 in negative ways. That combined with Rodolfo being forced to either make miracles happen or let DX9 die, you can see why DX9 might have some "shortcomings" at the moment. DX9 was tossed in the trash and forgotten about for a time.
I was under the impression that some features are really hard or near impossible to add to DirectX 9 while the other backends allow for easy implementation. I'm not saying that all those new issues with DirectX 9 where there all along, but they might be unavoidable due to the mentioned implementation problems. But then again that's just how I understood the situation.
"Hard" is open to interpretation I guess. Whatever that was said to be "holding back" DX9 could have been resolved, it's just that there was no one willing to do that until recently. Actually, we still don't know how it's all going to turn out when it's all said and done.
Did you guys notice the new "tape mode" button on youtube? It activates a filter to make the video look like it's played from a bad VHS casette.
[on the german version of youtube it's translated as "Tonbandmodus" which means "Audio tape mode"
]
random:
managed to get to run TP in Hyrule field with no slowdowns without the TP hack... only required me to push 4.8ghz lol. (i was running 88% constant at 4.5)
jesus i didnt expect hyrule field to be so demanding.
random thought: what does that hack actually do to speed up the game?
nice xD
(04-17-2013, 12:51 AM)Venomx1 Wrote: [ -> ]random thought: what does that hack actually do to speed up the game?
I couldn't find any info on the hack, so I browsed the forum and found a post by kiesel-stein where he provided a patch and this explanation:
Quote:The slowdown happens while the game draws the ingame map. it does this by renderering all of the ground triangles using differing texturing environments(hope i correctly interpreted texenv from the sources). Every time the texturing environment is changed, dolphin does a flush of the video pipeline, with is pretty costly.
Hyrule field consists over all of 127 000 triangles, which the game draws to the map in chunks of 9-10 triangles, leading to 12 700 video pipeline flushes per frame.
I made the relevant function not emit the pipeline flush on texture environment change, instantly increasing framerate by 200%(and making my lowly system limited by emulating the virtual cpu again), but i get some graphical glitches especially in text rendering, and the map is sometimes missing the walls. Otherwise, gameplay is not affected .
I don't know if that is the actual ZTP hack though^^
edit: Or you could take a look at
ISSUE 2499, though I can't check that out right now since google code seems to have some problems.
edit2: Found some more info by fircrestsk8:
Quote:skid, The hack works by identifying a very specific pattern of BP writes that occur in ZTP while in or around hyrule field (This pattern was identified thanks to Kiessel's patch). These writes always occur while a particular texture is being drawn, so once the pattern has been identified, the texture's address is saved and the hack is enabled via a "found" bool variable. The speed increase is then gained by disabling the the normal pipeline flush that occurs during a BPWrite whenever this texture is being drawn. The primitives are then drawn all at once once the end of the pattern is reached (right before the texture becomes deactivated). Basically, it consolidates thousands of small pipeline flushes into several very big flushes.
It's hard to say whether any other game would contain a similar pattern of BP Writes, but i think it is unlikely. That's why i don't think it will affect other games, negatively or positively.
edit3: and even more information by him:
Quote:It seems like some people have gotten back into discussing the cause of the slowdown, so i guess i'll give my 2 cents... I think it has something to do with how we handle textures. Basically, the game starts each in-game frame by going through the tedious process of drawing the minimap from scratch, which involves alot of vertices. Then it performs an EFB copy to Texture, meaning that this map is now stored somewhere in memory. Since the mini map is now available in memory, it makes no sense that the game redraws it again each frame. I believe that the game attempts to raise some sort of flag (To be used like a boolean variable) after drawing the minimap, but dolphin somehow misses or doesn't recognize it (The flag would also have to be lowered whenever the player moved to a different area, because a new map would need to be drawn). Since this flag never gets raised, the game believes it needs to redraw the map again and again, instead of accessing it from memory. The reason this would slow down hyrule field more than other areas is because of the great detail involved in drawing the giant hyrule field minimap (The fact that my hack works should support this statement).
If the failed "flag" was identified and fixed, then there would be a much greater increase in speed, that might even translate to other games...
Now I'm going to make it clear that my "missed flag" conjecture is merely speculation: I've noticed some odd behavior by the game (unnecessary map redrawing) and have proposed a possible explanation behind it. That said, i currently suspect that the BP Registers involved in Texture invalidation (Which dolphin ignores) may have something to do with the issue. I also think that the code implementing EFB Copy may be involved in some way...
Anyways, as far as the patch goes, I got way sidetracked and started looking for some way to identify the map texture directly as it is copied from the DVD, but i have failed so far, and i don't even know if it would increase speed at all. I'm going to go ahead and just brush that work aside and go back to writing the OpenGL and DX11 patches so that the patch can be committed. BTW, I was hoping to submit this patch for commit myself, does anyone know how i go about doing that (this is my first open source work).
*Realizes he hasn't seen defenderx for awhile*
I has a chance!!1!
He actually was on today though so he must be lurking :p
You're worried about DefenderX, meanwhile Admin89 is ready to pass you.
Nooooooooooooo, I must become number 4 again
, at lest for a little while :p
Yo dEnigma, most of the information in that edit3 quote of yours is wrong. Fwiw, I've commented on the ztp speed hack in the past around here; I'm sure you can look up my comments via the search function.