Originally Posted by
bridgman
I expect the performance gap is caused by a dozen or more design differences, not one. Just a few off the top of my head :
- tiling (mostly done AFAIK)
- hyper-z (started)
- shader compiler (WIP)
- threading (command submission is in separate thread on r300g, not sure about r600g)
- memory manager heuristics (this is what would probably help with buffer migration)
- adaptive load balancing
- adaptive memory reconfiguration
BTW I don't think Marek is saying "we've known this for 4 years", I think he's saying "I just looked recently and the problem with these specific applications seems to be buffer migration".
If the developers believed that one single issue was responsible for most of the performance differences then I think it's pretty safe to assume they would be all over it, but I don't think that is the case.
Some apps (typically the very slowest) may have one single issue that contributes most of the slowdown RELATIVE TO OTHER APPLICATIONS but that's not the same as saying one single issue contributes to most of the performance gap between the open source stack and the Catalyst stack.