Re: memory efficient compisiting
Jon Smirl <jonsmirl-/[email protected]>
| Newsgroups | gmane.comp.freedesktop.xserver |
|---|---|
| Message-ID | <[email protected]> |
--- Michel Dänzer <[email protected]> wrote: > On Tue, 2004-03-02 at 19:01, Jon Smirl wrote: > > > > Building a screen with transparent windows requires that the contents all of > the > > windows be available. But large windows on a 1280x1024x32 screen can take > 5MB of > > memory each. That's a lot of VRAM to waste for command line. Refetching a > > window's contents over a network will also take a lot of time. > > What would have to fetch them over the network? If we've thrown them out of the cache and they are from a remote user. Just a standard fullscreen repaint command for a remote window. Nothing new in X. > > If one of the transparent windows contains video the composition process > > is continuous. > > I wonder if things couldn't be fast enough to composite once per refresh > even with offscreen memory thrashing though? Has anyone measured hardware composition time? For example how long does it takes to blend ten 5MB translucent textures into the framebuffer assuming the textures are already in VRAM. A quick calc of doing that 60 times a second comes out to about 12GB/sec in VRAM bandwidth. Good video cards can do something like 12-20GB/s. But now if you turn on two heads the bandwidth demand is doubled. How long does this take if some of the textures are in AGP space? We also don't want to slow the main CPU down by having the GPU putting a continuous 1GB/s compositing demand on the main memory bus like the integrated graphics controllers do. This pretty much means that the windows have to fit into VRAM. I think it's likely that a stupid compositing system with lots of transparency is going to easily exceed the bandwidth capability of current hardware if we do it every retrace. So we need to write some code to minimize the per frame work that needs to be done. Continuous composition does look doable with a normal desktop mix where all of the windows aren't translucent. Also, nothing bad happens if it takes two retraces to do a complex composition pass, I doubt if you'll even notice. > > > 1) keep non-performance sensitive windows in AGP space, but I'm not sure > > the Radeon can address huge (256MB) amounts of AGP memory. > > I haven't seen anything to suggest that it can't. Also, IIRC I've seen > you argue before that cards with GBs of video RAM are imminent. :) They are, but not everyone is going to have one. If every card had 1GB RAM we wouldn't have a problem. The argument about 1GB cards was for a different reason (where are we going to get 1GB of kernel address space to map them into?). ===== Jon Smirl jonsmirl-/[email protected] __________________________________ Do you Yahoo!? Yahoo! Search - Find what youre looking for faster http://search.yahoo.com