[Rd] X11 image problem in R-2.8.0 Under development / R-2.7
Martin Maechler
maechler at stat.math.ethz.ch
Sat Apr 5 22:31:28 CEST 2008
>>>>> "BDR" == Prof Brian Ripley <ripley at stats.ox.ac.uk>
>>>>> on Sat, 5 Apr 2008 19:31:43 +0100 (BST) writes:
BDR> Martin M x 2,
BDR> Yes, no news in either of your most recent messages. That's a really ugly
BDR> plot, though, and I do want to protest about either of these being worth
BDR> doing fast.
BDR> On my home system
>> F <- ecdf(rnorm(10000))
>> system.time(plot(F))
BDR> user system elapsed
BDR> 1.343 0.035 1.410
>> x11(type="Xlib")
>> system.time(plot(F))
BDR> user system elapsed
BDR> 0.022 0.002 0.083
BDR> and if something is worth plotting, it is surely worth waiting 1.4s for?
BDR> (About 1/4 the time is spent on antialiasing.)
BDR> Martin Morgan's example is atypical (how often do people do scatterplots
BDR> of 10,000 points? Or ecdfs, come to that?),
BDR> but I see
>> X11(type="Xlib")
>> system.time(doplots(df)) # gcFirst=TRUE is the default
BDR> user system elapsed
BDR> 0.174 0.005 0.187
>> X11(type="cairo")
>> system.time(doplots(df))
BDR> user system elapsed
BDR> 2.315 0.035 2.388
>> X11(type="nbcairo")
>> system.time(doplots(df))
BDR> user system elapsed
BDR> 1.844 0.057 1.920
BDR> However, I think the plots produced are pretty uniformative whereas using
BDR> a smaller translucent filled disc as the symbol would give more
BDR> information (and "Xlib" cannot do that).
I completely agree.
BDR> The BioC package flowViz has some quite extreme examples of arrays of
BDR> scatterplots of ca 25,000 points, and they are acceptably fast with
BDR> type="cairo" on my system (they certainly plot much faster than I would
BDR> need to appreciate what they are trying to say).
BDR> It is very easy to change the default default (X11.options(type="Xlib") in
BDR> .Rprofile), and so the only question was 'what is best for most users?'.
BDR> As we think they will have local displays and be working with hundreds
BDR> rather than tens of thousands of points, the current default default seems
BDR> the best compromise.
I entirely agree. I do like the new default quite a bit,
and only very rarely am bothered with some slowness.
The only reason I chimed in, was that I felt the slowdown was
more noticable in some cases than I thought originally, and I
was also negatively supprised how much more noticable on my
notebook with sub-optimal but neither cheap nor really old
hardware.
I'd never even consider changing the default;
but I would quickly fire up an x11(type="Xlib")
if I needed it in some cases.
I think we've made a very nice step forward with the
cairo-enabled x11 device, and am particularly grateful for the
work you've put into that.
Martin Maechler
Bdr> Incidentally, windows() and quartz() are nowhere near as fast as Xlib on
BDR> the same or similar hardware. On my laptop
>> system.time(plot(F))
BDR> user system elapsed
BDR> 0.14 0.43 0.72
>> system.time(doplots(df))
BDR> user system elapsed
BDR> 0.38 0.58 1.25
BDR> and I don't usually feel that machine is slow (it was its 3rd birthday
BDR> last week).
BDR> I don't know how you live without graphics acceleration -- I've seen it on
BDR> my systems (1600x1200 and 1680x1050) when drivers have failed to update
BDR> and know I don't even want to text edit without it.
[.................]
More information about the R-devel
mailing list