[3ddesktop-dev] Re: Shortcuts and grey screens

  • From: Brad Wasson <bwasson@xxxxxxxxxx>
  • To: "Jeff Buck" <3ddesktop-dev@xxxxxxxxxxxxx>
  • Date: Fri, 3 Jun 2005 13:38:07 -0400

Jeff Buck (jeffb@xxxxxxxx) wrote:
> 
> > You have to acquire all the workspaces. If you've never been on desk 5 for
> > example, how shall 3ddesktop know how it looks like?. 
> 
> > We already have that feature. Check the config file and look for
> > autoacquire.
> > 
> 
> I think he is referring to a slightly different solution. I know this is
> very difficult, especially when you don't even know for sure what window
> manager is going to be used, but I think he's thinking of something more
> like Enlightenment's pager. It was an option that lets it slowly troll
> through the desktops (even the desktops that you're not on currently)
> and update the snapshot of the desktop that you see in the pager. I have
> no idea how Rasterman did that, and I suspect that it could be only
> possible to implement on the window manager level. Maybe it could be an
> option only available to those running a window manager that supports
> it, but a background snatch of the other desktops would be really nice,
> and obsolete the --acquire swtiches. The other thing about how the
> snapshot is done under Enlightenment, is that it does it very slowly.
> The impact on the machine is virtually invisible. One problem with the
> autoacquire setting is that many people see their machine stutter every
> time the current desktop is acquired. I am running a very fast machine,
> and the stutter is still noticeable, so I disable autoacquire and just
> let it get the snapshot as it zooms out, which is not nearly as
> noticeable. 3ddesk is the only method I use to switch desktops, so that
> works just fine for me.

The scanning that enlightenment does only happens for the current desktop
and happens at a pretty slow rate.  Inconsistencies that show up when
you switch around a lot and move windows isn't noticable at the very 
low resolution of these tiny windows.  It does show up at the superhigh
res of the textures used by 3ddesktop.  Plus there is more cpu and memory
bandwidth used because of the high resolution 3ddesktop is working with.

I've played with using tiles to represent the faces of each desktop and
then slurp in desktops piecemeal tile by tile and I have test code that 
does it.  This would be one step closer to averaging out the load that 
acquiring the desktop in the background takes.  I just don't know if its 
worth the effort as inconsistencies would still show up (and be noticable).

One thing to do (and enlightenment might do this) would be to catch window
events and specifically rescan effected portions of the screen but this is 
beyond my abilities and time these days.


> Incidentally, isn't the imlib2 that 3ddesk uses to get the snapshots
> also written by Rasterman? I wonder if the functionality that snapshots
> non-active desktops, and does it at a low priority (doesn't do the whole
> screen at once, it grabs it line by line) is actually part of
> Enlightenment or if it's included in imlib2. 

I don't think this functionality is in imlib2.

> > - Use my patch which copies the first screenshot to all desks when 3ddeskd
> > is run with the --mirror option. So you can save the acquiration time, but
> > that only helpful if all of your desks look (almost) the same.
> 
> Very nice trick.. Is Brad going to work that into one of the next
> releases at some point? (I'm too lazy to patch.. I use apt for
> everything these days ;)..

Yes I will add this patch to the next release!
(I will also add the man page with Mathias's permission).

Also I think I will make autoacquire default to *off* in the 
next release.  Does anybody strongly object to this or have any
feedback for me in this area?

Thank you,
Brad


________________________________________________
Get your own "800" number
Voicemail, fax, email, and a lot more
http://www.ureach.com/reg/tag

Other related posts: