Nautilus startup variability



Hi all,

   For SOC, I've been trying to track down why the nautilus startup time is so variable.  I have a theory that nautilus blocks waiting for its dependencies to start (bonobo-activation-server, gnome-volume-manager, gnome-vfs-daemon).  While it is blocking, a WHOLE bunch of other things start and prevent nautilus from getting the CPU again.  (including the bazillion things that the panel may launch).  It really is important (IMHO), that nautilus is started and running as soon as possible.  Even if the entire gnome desktop takes a while to start up, just seeing your icons makes startup feel faster.
...
One way that might solve this problem is to  have all of the dependencies of nautilus to be up and running before it even starts.  My theory is that this should prevent nautilus from blocking, and that should give us nice repeatable (quick) nautilus startup times. 

Here's what I want to do, but I don't have the gnome know-how to do it.

   1) Start bonobo-activation-server at the beginning of gnome-session  (rather than on-demand) (this way it can run in parallel to gconf loading)

   2) Start gnome-volume-daemon and gnome-vfs-daemon within gnome-session.

   3) Don't start nautilus until gnome-volume-daemon and gnome-vfs-daemon are ready. (This will involve devising some way to determine that they are ready, and I can start nautilus)

Questions for desktop-devel:
   1) Is there a simple function call to start the bonobo-activation-server from gnome-session?
      (Preferably before GCONF_SANITY_CHECK)

   2) Is there a simple function call to start gnome-volume-monitor and gnome-vfs-daemon (rather than have it done on-demand)?
 
   3) How will I know that gnome-volume-monitor and gnome-vfs-daemon are ready? (so that I can start nautilus)?

BTW. Right now, I'm just looking for quick hacks to see if this path does in fact gain us anything. The real solution will come later if this pans out.

Thanks,
--Phil


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]