OK I've checked the RQuartz_Polyline and RQuartz_Polygon. Its quite  
straight forward. However I don't see anything causing problem we  
discuss.

tomas


# Revision 45515: /branches/R-2-7-branch/src/library/grDevices/src
-----------

static void RQuartz_Polyline(int n, double *x, double *y, CTXDESC)
{
     if (n < 2) return;
     int i;
     DRAWSPEC;
     if (!ctx) NOCTX;
     SET(RQUARTZ_STROKE | RQUARTZ_LINE);
     CGContextBeginPath(ctx);
     CGContextMoveToPoint(ctx, x[0], y[0]);
     for(i = 1 ; i < n; i++)
        CGContextAddLineToPoint(ctx, x[i], y[i]);
     CGContextStrokePath(ctx);
}

static void RQuartz_Polygon(int n, double *x, double *y, CTXDESC)
{
     if (n < 2) return;
     int i;
     DRAWSPEC;
     if (!ctx) NOCTX;
     SET(RQUARTZ_FILL | RQUARTZ_STROKE | RQUARTZ_LINE);
     CGContextBeginPath(ctx);
     CGContextMoveToPoint(ctx, x[0], y[0]);
     for(i = 1; i < n; i++)
        CGContextAddLineToPoint(ctx, x[i], y[i]);
     CGContextClosePath(ctx);
     CGContextDrawPath(ctx, kCGPathFillStroke);
}
------------



On 27 Apr 2008, at 15:08, Prof Brian Ripley wrote:

> Some versions of Windows GDI have a superficially identical problem  
> -- stroking a path is quadratic in the number of segments.  The  
> solution we used (in gdrawpolyline, in src/extra/graphapp/gdraw.c)  
> was to split the drawing into pieces of length 1000, and that could  
> be used here.  It would be a simple modification to RQuartz_Polyline  
> and RQuartz_Polygon, so please try it and let us know how you get on.
>
> It would also have been helpful to (C-level) profile the call and  
> find out where the time is being spent -- I expect it not to be in R  
> at all but in Quartz.
>
> On Sun, 27 Apr 2008, Tomas Mikoviny wrote:
>
>> I found where is the problem, however have no solution for it right  
>> now.
>> To demonstrate (I have chosen 6000 to match my datasets size):
>>
>> x=seq(1:6000)
>> y=rnorm(6000)
>> plot(x,y)
>>
>> Absolutely no problem until now, everything is responsive, no lags.
>>
>> Problem appears when I insert parameter 'type':
>>
>> slowdown and unacceptable lag for "l", "o", "s"
>> plot(x,y, type="l")
>> plot(x,y, type="o")
>> ...
>>
>> however no problem at all  (instantly plotted) for "p", "b", "c", "h"
>> plot(x,y, type="p")
>> plot(x,y, type="b")
>> ...
>>
>> Does anyone know possible reason for this behaviour. Once again, I  
>> use
>> clear install of R version 2.7.0 (2008-04-22). When I try the same
>> stuff with latest 2.6.2 version everything runs smoothly without any
>> problems.
>>
>> tomas
>>
>>
>> On 27 Apr 2008, at 10:49, Charles Hebert wrote:
>>
>>> Hi all,
>>>
>>> I've the same problem + the resizing of the window is really really
>>> slow... for all datasets. I'm running leopard 10.5.2 and the latest
>>> macOS R dmg.
>>>
>>> For all datasets. But when i use quartz() then plot, it seems ok
>>> (slow again but... usable). So right now, i use quartz(file,
>>> type="pdf")...
>>>
>>> Best regards,
>>>
>>> Charles
>>
>> _______________________________________________
>> R-SIG-Mac mailing list
>> [email protected]
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>
>
> -- 
> Brian D. Ripley,                  [EMAIL PROTECTED]
> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
> University of Oxford,             Tel:  +44 1865 272861 (self)
> 1 South Parks Road,                     +44 1865 272866 (PA)
> Oxford OX1 3TG, UK                Fax:  +44 1865 272595


        [[alternative HTML version deleted]]

_______________________________________________
R-SIG-Mac mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

Reply via email to