O.K. - last one for today.

> > Windows cannot. Look at any semi-crashed application (i.e. one in an
> > endless loop) there. If it does not redraw a window on its own anymore,
> > it will not revert to the previos state when you move something over it.

> What has that to do with the matter we're discussing here? 

It is the same thing. If windows had backing store, it could redraw -
right?


> can work, like it's not the only way X can work. 

See other post. Backing store works nicely, because it is a serverside
feature. Server knows when to display and when not an can coordinate.

> Applications should lock the gfx mem when accessing it and unlock when non
> accessing it anymore. 

O.K. - so I have an idiotic application that does that for a long time.
Shall I thus inhibit VT-switching? Great DOS-Opportunity.


> I'm not sure about this. By using locking and shared memory VT switching
> could be put to wait until the gfx mem gets unlocked.

That's what I am saying. You _have_ to schedule VT-switching. And if you
already have to do that, why not just have the application acknowledge
the request and all is easy and smooth.

If the app doesn't ack it, you can still forcefully switch from it,
eventually destroying its current visual contents. So what. Not an
issue in 99% of applications.

> Look, it could be implemented _exactly_ like in X: applications can
> request backing store if they want, so let's do it with ggi/kgi too: if
> apps request backing store, just let them go to background and provide
> them with a backing store, 

Why make a big deal of it, if the app can just do that:

        if (have_vtswitch_request()) {
                backstore=ggiOpen("memory",...)
                ggiSetMode(backstore,...);
                ggiCrossBlit(currvis => backstore,...);
                savedvis=currvis;
                currvis=backstore;
        }

If that's too much to write, we can put it in a lib.

But the _app_ knows when this can be called safely.

> It would be really annoying, for example, if I started my favourite
> fractal application, then switched console to do some programming, and
> after one hour I went back to the fractal app just to discover that it
> didn't do _anything_ because it's been put to sleep. 

That would be a perfect example for a broken application.

If the app wants to run in BG, it should react nicely to being asked to
stop using the graphics engine.

> see, that's a perfect example of an application that NEEDS backing store
> and that NEEDS to NOT be put to sleep.

Why does that need backing store? To avoid having to store its result 
somewhere else?

EOD for today for me. Bedtime.


CU, Andy

-- 
= Andreas Beck                    |  Email :  <[EMAIL PROTECTED]>             =

Reply via email to