On Mon, 4 Feb 2002, hzeng wrote: > Hi, > The question has troubled me very long. I don't know the where is the trouble. >In my thought,Xv driver belong to the > DDX layer of Xserver, and kde or gnome are the app(window manager) build upon >Xserver. Is it right? > > If it's right, the Xv driver only connected directly with Xserver, and Xserver >communicates with window manager > as s/c. So the same Xv driver should have same effections when we use it at kde or >gnome. But I find that in Xv > driver, some methods of the offscreen video memory allocation is good when we use >gnome but they are very bad > when we use kde. At kde, the window manager may impropriate the video memory you >has allocated in Xv driver > temporarily or maybe they only have been exchanged( I can't make clear what happen, >but the desktop is dirty ). The > situations are very often when I used at virtual screen and only come out when I use >the capture. But they never come out > at gnome. > > I have questioned the driver, but why the driver has different effects at gnome >and kde, maybe the problem is really at > the driver but why there are different effects? Do you meet this situation or give >me some advice? Thank you very much! >
I'm not totally following you. Different window managers have different degrees of pixmap usage and XAA will put pixmaps in offscreen memory when they fit. I'm not sure what your question is but I state a few facts about offscreen memory usage. If you allocate offscreen memory with one of the xf86AllocateOffscreen functions and you do not pass a Remove function pointer when you do that, your allocation will be vaild until you free it. You will not lose it. If you do pass a Remove function that allows the offscreen manager to kick you out, and it will call that function when it does. For video, you probably don't want to do that. When you try to allocate, the allocation may fail due to lack of video memory, which can be used by other parts of the server. XAA may be using it for KDE's pixmaps, for example. When this happens you can call xf86PurgeUnlockedOffscreenAreas to kick out many of the expendable allocations that XAA or other parts of the server may have made, and try to allocate again. If you want, you can call one of the xf86QueryLargestOffscreen functions first with PRIORITY_EXTREME for the argument, to see how much room a Purge would give you. It's best if you don't purge if won't give you enough memory. Mark. _______________________________________________ Xpert mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xpert