From: Alan W. I. <ir...@be...> - 2009-08-24 18:21:15
|
Hi Hez and Hazen: The latter part of this is directed to Hazen. On 2009-08-24 00:33-0500 Hezekiah M. Carty wrote: > On Mon, Aug 24, 2009 at 12:23 AM, Alan W. > Irwin<ir...@be...> wrote: >> On 2009-08-23 20:47-0400 Hazen Babcock wrote: >> >>> >>> We have 2-3 weeks until our tentative early September release date. I >>> believe that everything that we wanted in 5.9.5 is in? Is there anything >>> outstanding besides the tweaks to the color palette handling? >> >> Here are some comments on the present development issues I am aware of: > ... >> * Hez mentioned the off-screen rendering patch in response to your post but >> didn't give an estimate of how long that would take. If that turns out to be >> long, I don't think we should delay the release for it. > > I should have been clearer about this in my previous response. I am > mainly waiting for comments on the patch and the changes it introduces > at this point. I would be happy to apply it now if it gets the ok > from multiple other developers. It changes the behavior of xcairo > though, so I don't want to commit the change to trunk without > something of a consensus. > > Simply, I am happy with the patch as it is. If others are as well > then I am ready to commit it. If not, then it can wait until > post-release. Hez, to quote from your previous post about this patch: "The compiled PLplot examples illustrate the speedup (particularly examples 11, 16 and 20) and flicker-free rendering (example 17) quite nicely. The shortcoming of not seeing the plot updates until a flush becomes most noticeable when using the xcairo driver interactively, say from an interactive Octave, OCaml or Python session. This lack of interactive updates could be worked around with threading similar to the pthread use in the xwin driver. The xwin threading code is quite lengthy and complicated though, so this would likely be a fairly significant task." I use -dev qtwidget (which is comparable in speed to -dev xwin for most examples) so I don't have strong feelings about -dev xcairo. However, as a general comment, that interactive session drawback doesn't sound too bad a price to pay for the other advances in speed especially when there is a future possibility with threads to take care of the interactive session drawback. Hazen is the one who wrote most of cairo.c so if this patch is okay with him, it is okay with me. Hazen, I don't recall you have ever discussed patches before so you may not have much experience using the patch application. If you do have a lot of patch experience skip the next few paragraphs. :-) The key elements to pay attention to with the patch application are to make sure you are in the proper directory within the source tree, and the --dry-run and -p options for patch such as -p0, -p1, etc. Basically, the number after the -p option is the number of subdirectory prefixes to strip off the file names in the patch. Hez's current patch has file names a/drivers/cairo.c and b/drivers/cairo.c so you apply -p1 to strip off just the a/ and b/ from the names and patch will find drivers/cairo.c to patch _IF_ you are in the top-level of the source tree. However, if you are in the drivers subdirectory of the source tree, then you have to use -p2 to strip off a/drivers/ and b/drivers from the cairo.c name. Hope that makes sense. The --dry-run option lets you know (a) whether the files to be patched can be found (i.e., whether you are in a directory that is consistent with the -p option you have used), and (b) whether the patch applies cleanly to those files (without actually applying the patch). In any case just remember that --dry-run gives you a chance to experiment with different -p numbers until you discover the correct one for the directory that you are in. Here is how I discovered that Hez's patch would apply cleanly (without actually patching cairo.c) software@raven> patch --dry-run -p1 \ < /home/irwin/cairo-xcairo-offscreen-rendering-v2.patch patching file drivers/cairo.c The lack of further messages after the "patching file" message indicates the file was found and the patch would apply cleanly. Remove the --dry-run option when you actually are ready to apply the patch. After you apply the patch and evaluate it, you might want to remove it again from your source tree . For that, you use the --reverse option of patch (which reverses the effect of the patch). Of course, again, you would first want to use the --dry-run and --reverse options combined to make sure you are in the right directory with a consistent -p number used before you remove the --dry-run option. Please go ahead and apply Hez's patch to your local source tree, and let us know whether you like how that patch changes the -dev xcairo user experience. I assume Hez will commit the patch or hold off until post-release based mostly on your evaluation since I don't think anybody else has tried his patch yet. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |