ea08+@andrew.cmu.edu (Eric A. Anderson) (11/06/90)
I was wondering if this is being fixed.
When you set the save under bit on a window, the default MIT server
implements this as setting backing store on every window it occludes.
This has a couple of problems.
First, lets say I'm running tvtwm, and I have a big virtual window. I
bring up a menu and pop, My server grows to 10Meg.
A similar problem occurs on a monochrome machine although it is 1/8 of
the size.
I noted in the source that it says 'Never set backing store on root window.'
Could something be added with the Backing store variable as 'Never give
me a backing store?' It seems somehow foolish to save the entire window
when in general menus only occlude a small portion of the screen, and
don't move. I know for example that the Dec X server does do something
like that, becuase it does not grow like the MIT server does under
tvtwm. (Of course it could just not do save under, but I'd hope not.)
I'm not sure if this is something that is being looked into, but It
might be something that should be fixed. Something to fix the server so
that it only save the occluded region would be possible, but I'm not
sure how it would be implemented. On the other hand the 'Never give a
backing store' could work, and would allow windows which really
shouldn't get backing stores, like the tvtwm virtual root, to not get
backing stores.
I hope I haven't rambled too much.
Thanks.
-Eric
*********************************************************
"My life is full of additional complications spinning around until
it makes my head snap off."
-Unc. Known.
"You are very smart, now shut up."
-In "The Princess Bride"
*********************************************************rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (11/06/90)
Something to fix the server so
that it only save the occluded region would be possible, but I'm not
sure how it would be implemented.
I implemented this back in March, works great. No public patches, sorry,
the public will have to wait for R5. Consortium members have had access
to this code for a while.keith@EXPO.LCS.MIT.EDU (Keith Packard) (11/07/90)
> First, lets say I'm running tvtwm, and I have a big virtual window. I > bring up a menu and pop, My server grows to 10Meg. Gee, this doesn't happen on *my* server (which creates a pixmap large enough only for the occluded region)... > On the other hand the 'Never give a > backing store' could work, and would allow windows which really > shouldn't get backing stores, like the tvtwm virtual root, to not get > backing stores. Curiously enough, the way to get this effect is to request backing store on that window before it is mapped. This way, the backing store code can keep track of the fact that nothing is ever rendered to that window and that it needn't save any information in it other than the background tile. Any window with backing store which hasn't been rendered to gets a special optimization which avoids saving any real bits, instead saving only the background state when the bits were occluded. Unfortunately, the backing store code must assume that any currently mapped window which gets backing store enabled has useful bits currently displayed on the screen. You could easily remove this constraint, at the loss of some level of protocol conformance (if not in word, than certainly in intent).
clive@x.co.uk (Clive Feather) (11/08/90)
In article <8bBX6we00Vpc89mW1i@andrew.cmu.edu> ea08+@andrew.cmu.edu (Eric A. Anderson) writes: >When you set the save under bit on a window, the default MIT server >implements this as setting backing store on every window it occludes. >I noted in the source that it says 'Never set backing store on root window.' >Could something be added with the Backing store variable as 'Never give >me a backing store?' If someone is thinking about doing this, can I suggest that any window that does not have ExposureMask set in its event mask shouldn't need backing store under *any* circumstances. No client is prepared to repaint the window on damage, so there is no need for the server to do so either. -- Clive D.W. Feather | IXI Limited | If you lie to the compiler, clive@x.co.uk | 62-74 Burleigh St. | it will get its revenge. Phone: +44 223 462 131 | Cambridge CB1 1OJ | - Henry Spencer (USA: 1 800 XDESK 57) | United Kingdom |