[R] R versions and PostScript files

Duncan Murdoch murdoch.duncan at gmail.com
Fri Jul 22 00:44:03 CEST 2011


On 11-07-21 5:17 PM, pilchat wrote:
> thank you guys for your reply.
>
> i was sure that it was related to changes in the generation of ps
> files with the latest R release.
>
> now the question is: how can i restore the old behavior in R2.13?

Peter told you.

Duncan Murdoch

>
> thanks
>
> gaetano
>
> On 7/21/11, Ted Harding<ted.harding at wlandres.net>  wrote:
>> Yes, Peter, your suggestion does the trick (at any rate with
>> Gaetano's files).
>>
>> I edited his volc2.13.eps (the slow one) as follows (the original
>> commented out with "%%##") making just the following change:
>>
>> %%## /setrgb { srgb setcolor } def
>> /setrgb { setrgbcolor } def
>> %%## End of editing
>>
>> (at line 53 of the prologue). The result is a file that produces
>> exactly the same picture as the other (fast) one, and renders
>> (to within my perceptual resolution) in exactly the same time,
>> i.e. just under one second (as opposed to about 18 before).
>>
>> Thanks, Peter!
>> Ted.
>>
>> On 21-Jul-11 18:59:58, peter dalgaard wrote:
>>> This is due to the introduction of sRGB. Since this actually does
>>> something (Google for sRGB and you will be approximately as wise as
>>> me...), I don't think it is likely to be taken out. You can, however,
>>> always edit .ps.prolog. (I would expect that the line
>>>
>>> /setrgb { setrgbcolor } def
>>>
>>> instead of what is already there would reinstate the old behavior, but
>>> no guarantees.
>>> )
>>>
>>>
>>> On Jul 21, 2011, at 17:26 , (Ted Harding) wrote:
>>>
>>>> On 21-Jul-11 13:24:32, Duncan Murdoch wrote:
>>>>> On 11-07-21 3:23 AM, pilchat wrote:
>>>>>> Dear R users,
>>>>>>
>>>>>> I have a desktop computer and a laptop, both of them
>>>>>> with Ubuntu Lucid. The former has R2.10 installed from
>>>>>> Ubuntu repositories (this is the most recent version
>>>>>> in the repositories), while the latter has R2.13 from
>>>>>> the CRAN repositories.
>>>>>>
>>>>>> I noticed that postscript files generated with R2.10
>>>>>> are "better" than files generated with the latest release
>>>>>> of R, in particular for plots with colored areas, such
>>>>>> as the output of image or persp. The thing is that my ps
>>>>>> viewer (e.g. gv or evince) is very slow in opening ps
>>>>>> files from R2.13, while it smoothly displays ps files
>>>>>> from R2.10, regardless of "encapsulation".
>>>>>>
>>>>>> I think this is related to differences in the way the
>>>>>> ps file is generated by the two versions of R, but I
>>>>>> don't know how to go deeper in the matter.
>>>>>
>>>>> Postscript files are mostly text, so you can compare the
>>>>> two files and>  see what the differences are. The NEWS
>>>>> file shows a number of changes since 2.10.0, but I can't
>>>>> see any that would cause problems for viewers.
>>>>>
>>>>> Duncan Murdoch
>>>>>
>>>>>> Is there anyone experiencing the same issue? Is there
>>>>>> any solution?
>>>>>>
>>>>>> Thank you in advance
>>>>>>
>>>>>> Cheers
>>>>>> Gaetano
>>>>
>>>> Gaetano has now sent me two files, generated (as he posted
>>>> just now on R-help) by the same commands:
>>>>
>>>>   setEPS()
>>>>   postscript (file="volc.eps",width=5,height=4)
>>>>   image(volcano)
>>>>   dev.off()
>>>>
>>>> on his two machines:
>>>>
>>>> volc2.10.eps generated using R-2.10 on his desktop
>>>>   (the EPS file with fast rendering)
>>>>
>>>> volc2.13.eps generated using R-2.13 on his laptop
>>>>   (the EPS file with slow rendering)
>>>>
>>>> I have viewed both files on the same machine, and the
>>>> result indeed is that while volc2.10.eps renders very
>>>> quickly, volc2.13.eps does render very slowly (painting
>>>> in by vertical strips which move jerkily from left
>>>> to right). I estimate that 'gv volc2.10.eps' does the
>>>> rendering in less than 1 second, while 'gv volc2.13.eps'
>>>> takes about 18 seconds.
>>>>
>>>> Comparing the two files, I think I have found the reason.
>>>>
>>>> A 'diff' on the two files shows a basic difference in
>>>> definitions of a function used in the plotting:
>>>>
>>>> [A] In file volc2.10.eps (the fast one):
>>>>
>>>>   /rgb { setrgbcolor } def
>>>>
>>>> [B] In file volc2.13.eps (the slow one):
>>>>
>>>>   /srgb { [ /CIEBasedABC
>>>>             <<  /DecodeLMN
>>>>                  [ { dup 0.03928 le
>>>>                           {12.92321 div}
>>>>                           {0.055 add 1.055 div 2.4 exp }
>>>>                        ifelse
>>>>                    } bind dup dup
>>>>                  ]
>>>>                /MatrixLMN [0.412457 0.212673 0.019334
>>>>                            0.357576 0.715152 0.119192
>>>>                            0.180437 0.072175 0.950301]
>>>>                /WhitePoint [0.9505 1.0 1.0890]
>>>>>>
>>>>            ] setcolorspace } def
>>>>   /setrgb { srgb setcolor } def
>>>>
>>>>
>>>> Then [A] volc2.10.eps (the fast one) uses commands like:
>>>>
>>>>   /bg { 1 0 0 rgb } def
>>>>
>>>> while [B] volc2.13.eps (the slow one) uses commands like:
>>>>
>>>>   /bg { 1 0 0 setrgb } def
>>>>
>>>> in each case for exactly the same purpose. Thus [B] the
>>>> slow one uses repeatedly (1157 times) a function setrgb
>>>> which has much higher overheads (see definition above)
>>>> than the function rgb used (1156 times) by [A] the fast one.
>>>>
>>>> So the difference in performance is *definitely* down to
>>>> a specific difference in how R-2.13 implements 'postscript()'
>>>> compared with R-2.10.
>>>>
>>>> Hoping this is useful!
>>>> Ted.
>>>>
>>>> --------------------------------------------------------------------
>>>> E-Mail: (Ted Harding)<ted.harding at wlandres.net>
>>>> Fax-to-email: +44 (0)870 094 0861
>>>> Date: 21-Jul-11                                       Time: 16:26:33
>>>> ------------------------------ XFMail ------------------------------
>>>>
>>>> ______________________________________________
>>>> R-help at r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>> PLEASE do read the posting guide
>>>> http://www.R-project.org/posting-guide.html
>>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>> --
>>> Peter Dalgaard
>>> Center for Statistics, Copenhagen Business School
>>> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
>>> Phone: (+45)38153501
>>> Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com
>>>
>>
>> --------------------------------------------------------------------
>> E-Mail: (Ted Harding)<ted.harding at wlandres.net>
>> Fax-to-email: +44 (0)870 094 0861
>> Date: 21-Jul-11                                       Time: 21:13:21
>> ------------------------------ XFMail ------------------------------
>>
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list