Re: Adventures in GNOME... X Terminals A-Go-Go!



Hi Jeff,

On Wed, 2002-09-04 at 09:13, Jeff Waugh wrote:
>  Okay, so, canvas stuff should be fine, but Nautilus is a special case, not
> using the canvas - is there anything else doing similar things to Nautilus
> that I can mention here?

	I'm guessing from the code, that since we do:

	gdk_pixbuf_render_to_drawable_alpha (... GDK_RGB_DITHER_MAX ...)

	And that since gdk_x11_draw_pixbuf does:

	if (format_type == FORMAT_NONE ||
            !gdk_pixbuf_get_has_alpha (pixbuf) ||
           (dither == GDK_RGB_DITHER_MAX &&
            gdk_drawable_get_depth (drawable) != 24))
         {
            .. chain to parent ...
         }

	That in the XRender with the non 24bit depth case, we are falling back
to some read/modify/write roundtrip model for compositing the pixbufs.

	Thus - there are several possible solutions:

	* use GDK_RGB_DITHER_NORMAL - we're not passing the dither 
	  offsets anyway [ but then we're rendering the whole pixbuf
	  too despite how much is exposed ]. [a 1 line change in 
	  libnautilus-private/nautilus-icon-canvas-item.c (draw_pixbuf)]

	* configurably switch to threshold_alpha rendering in the 
	  options.

	* Adaptively switch the threshold_alpha setting, so the user
	  always gets what's best for him - without knowing it ;-)

	I'd go for the quick fix for 2.0.2 if we have time and it's worthwhile;
and the adaptive switching for the next version.

	How does that sound ?

	Regards,

		Michael.

-- 
 mmeeks gnu org  <><, Pseudo Engineer, itinerant idiot




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