El Tue, 3 May 2005 18:09:41 -0400, Jon Smirl <[EMAIL PROTECTED]> escribi�:
> "What does this actually mean? 3D surfaces can be paged out to virtual > memory as needed. This is critical in the Longhorn user interface, > where every window will be a 3D surface. Applications can now be > bigger than graphics card memory currently allows. Of course, this There is a great review of mac os x 10.4 in arstechnica (which I assume everybody here has probably read already, but...) which talks about something similar: http://arstechnica.com/reviews/os/macosx-10.4.ars/14 "As it turns out, VRAM has been "virtualized" by Mac OS X since Quartz Extreme debuted in Jaguar. Although the Jaguar Quartz diagram shows the backing store in RAM, the Quartz Compositor is smart enough to cache those backing stores in VRAM as well. The biggest limitation of Jaguar's Quartz implementation is that the actual drawing is still done into the backing store in RAM, so the diagram accurately reflects the sequence of events during an actual drawing operation. But as long as a window's contents don't change, the Quartz Compositor can continue to use its VRAM cache of the backing store instead of reading it from RAM every single time. Implementing even this limited form of VRAM caching required facing up to the reality that VRAM won't always be able to hold cached copies of all of the backing stores. Worse, the amount of VRAM varies depending on the video card being used. To simplify the Quartz implementation, Jaguar needed some way to make VRAM look "limitless" even though it clearly isn't. This problem has been solved before. The virtual memory system in a modern OS makes RAM look "limitless." Well, okay, it makes it appears as if it is 2^32 or 2^64 bits long, for 32-bit and 64-bit CPUs, respectively. But that's almost certainly larger than the amount of physical RAM installed (particularly in the 64-bit case). Although the details are different, this is essentially what Jaguar did with VRAM. To the operating system, VRAM looks a lot larger than it actually is. Quartz handles the details of swapping data in and out of VRAM as needed, using a replacement algorithm tuned to keep the most frequently used pieces of data in VRAM as much as possible. In Jaguar's Quartz implementation, any backing stores cached in VRAM are simply redundant copies of the backing stores in RAM. All backing stores must exist in RAM in Jaguar because that's where drawing actually takes place. Quartz drawing commands cause the backing stores in RAM to be modified. The completed backing store is then (DMA) transferred to the video card where the Quartz Compositor blends it into the scene and (perhaps) caches it in VRAM, just in case it needs to be used again at some point before it's modified (in RAM, remember) by the application and needs to be re-imported into VRAM. In Tiger with Quartz 2D Extreme, Quartz 2D drawing commands now modify the backing store in VRAM. The Quartz Compositor, also running on the video card, reads from the very same backing store in VRAM. The backing store in RAM is no longer needed at all. Well, theoretically, anyway. Again remember that VRAM is finite. What doesn't fit in VRAM has to be stored in RAM instead. Once VRAM is full, there is a constant dance of data moving between RAM and VRAM as needed to (ideally) keep the most frequently used data in VRAM. There's also another important reason a backing store might be in RAM instead of VRAM." [...] ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. Get your fingers limbered up and give it your best shot. 4 great events, 4 opportunities to win big! Highest score wins.NEC IT Guy Games. Play to win an NEC 61 plasma display. Visit http://www.necitguy.com/?r -- _______________________________________________ Dri-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dri-devel
