On Thursday 26 July 2007, Timothy Normand Miller wrote: > Thanks to some helpful people on the list, we were able to figure out > why in our test environment, framebuffer writes were slow. We changed > the way the mapping worked to enable write combining, and it now gets > very good throughput. But we've since noticed that READS only get > about 4 megabytes/sec. Does anyone have any insight into this? > Surely, there must be some way to enable an optimization to reads as > well, no?
Maybe. The usual answer is "don't do that" :-) Instead implement a DMA engine and have the PCI device push the data to system ram. This has been true pretty much forever, so software will almost never read from video ram. In fact modern cards don't provide direct access to most of video ram at all[1]. Write are easy because the cpu just needs to cache them after the fact. For reads it needs to actively prefetch, and a cache miss forces the core to stall. You could try explicit prefetching. Paul [1] Typically only the first 128Mb is mapped into PCI space. Any more and you risk running out of address space as most PCI hosts are still 32-bit. _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
