Home > Archive > PostScript > January 2006 > Encountering limitcheck on a ReusableStreamDecode
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Encountering limitcheck on a ReusableStreamDecode
|
|
| Paul Walker 2005-12-16, 7:04 pm |
| This is a followup to my previous thread regarding using image
masking with a reusable stream. I've constructed a testcase where I
have only one reusable stream, and no masking at all. I added code to
print the vmstatus just before the reusable stream filter gets started.
There seems to be plenty of room, since the image is less than 3MB
total. Here is the code, with the image snipped out:
-------------------------------------------------------
%!
%%BoundingBox: 0 0 336 252
% The image data in this file was created by:
% $ jpeg2ps -ysize 3.5 family.jpg>family.ps
% $ ../makemask -wid 4.666667 -height 3.5 -e 4.416667 3.25 0.25 -dpi
300>mask_family.eps
% Then the data was pasted into the template.
80 dict begin
save
%%EndPageSetup
mark
/mystr 100 string def
/Helvetica 20 selectfont
vmstatus
mystr cvs 400 500 moveto show
mystr cvs 400 520 moveto show
mystr cvs 400 540 moveto show
currentfile /ASCII85Decode filter <</Intent 0 /AsyncRead true>>
/ReusableStreamDecode filter
s4IA1 -_s1U Bk@>F 9hbU; !!!!) !"&`; !!3-# !!WE' !/:Lc !!3-# !"&]+ !/ppk
!!<3$
[large image snipped]
D&Pl! Ec4>F df7u ~>
/datastream exch def
datastream resetfile
/DeviceRGB setcolorspace
/ImageDict <<
/ImageType 1
/Width 2240
/Height 1680
/BitsPerComponent 8
/ImageMatrix [6.66667 0 0 -6.66667 0 1680] % matrix
/Decode [0 1 0 1 0 1]
/DataSource datastream << >> /DCTDecode filter % datasrc[color=darkred]
ImageDict image
cleartomark restore end
showpage
-------------------------------------------------------
This works properly on Ghostscript 8.51, and it distills with
Distiller 7.0. However, I get a limitcheck when sending it to my PS3
printer. The limitcheck is encountered part of the way through the
ASCII85 data. VMStatus returns [3 48216 18218112], which I think means
that there is room for about 18MB-48KB=17MB more data.
So, am I really running out of VM?
What else could be causing the limitcheck?
What sizes of ReusableStream filters have you used - any as large as
2-3MB - larger?
This is failing on an Adobe RIP. If someone else would care to try
this on another Adobe RIP, I'd appreciate it (wanting to know if I'm
all alone).
Finally, on a related note, why does the MaxLocalVM key in
currentuserparams say about 2GB, when VMStatus says about 18MB? I had
expected them to be about the same.
Thanks in advance,
Paul
| |
| Paul Walker 2005-12-18, 3:56 am |
| I answered my own question about MaxLocalVM. I now understand that
this is a mechanism that allows one to set up a test environment with
an artificially lower VM limit.
So I tried this out on my existing testcase. My reported max VM is
about 18MB by default. I used MaxLocalVM to set it to 15000000 and
then 10000000 bytes. In all three cases (normal, reduced a little, and
reduced a lot), the failure occurs at the same place in the stream.
This makes me pretty certain that I'm not running out of VM.
Any guesses as to what limit is being hit?
Any volunteers to try this on their Adobe PS3 RIP? I'd be happy to
put the test file on an FTP site if someone can point me to one.
Otherwise, I can Email it to an interested party.
Thanks in advance,
Paul
Paul Walker wrote:
> This is a followup to my previous thread regarding using image
> masking with a reusable stream. I've constructed a testcase where I
> have only one reusable stream, and no masking at all. I added code to
> print the vmstatus just before the reusable stream filter gets started.
> There seems to be plenty of room, since the image is less than 3MB
> total. Here is the code, with the image snipped out:
> -------------------------------------------------------
> %!
> %%BoundingBox: 0 0 336 252
> % The image data in this file was created by:
> % $ jpeg2ps -ysize 3.5 family.jpg>family.ps
> % $ ../makemask -wid 4.666667 -height 3.5 -e 4.416667 3.25 0.25 -dpi
> 300>mask_family.eps
> % Then the data was pasted into the template.
>
>
> 80 dict begin
>
> save
> %%EndPageSetup
> mark
>
> /mystr 100 string def
> /Helvetica 20 selectfont
> vmstatus
> mystr cvs 400 500 moveto show
> mystr cvs 400 520 moveto show
> mystr cvs 400 540 moveto show
>
> currentfile /ASCII85Decode filter <</Intent 0 /AsyncRead true>>
> /ReusableStreamDecode filter
> s4IA1 -_s1U Bk@>F 9hbU; !!!!) !"&`; !!3-# !!WE' !/:Lc !!3-# !"&]+ !/ppk
> !!<3$
> [large image snipped]
> D&Pl! Ec4>F df7u ~>
> /datastream exch def
> datastream resetfile
>
> /DeviceRGB setcolorspace
> /ImageDict <<
> /ImageType 1
> /Width 2240
> /Height 1680
> /BitsPerComponent 8
> /ImageMatrix [6.66667 0 0 -6.66667 0 1680] % matrix
> /Decode [0 1 0 1 0 1]
> /DataSource datastream << >> /DCTDecode filter % datasrc
>
> ImageDict image
>
> cleartomark restore end
> showpage
> -------------------------------------------------------
> This works properly on Ghostscript 8.51, and it distills with
> Distiller 7.0. However, I get a limitcheck when sending it to my PS3
> printer. The limitcheck is encountered part of the way through the
> ASCII85 data. VMStatus returns [3 48216 18218112], which I think means
> that there is room for about 18MB-48KB=17MB more data.
>
> So, am I really running out of VM?
>
> What else could be causing the limitcheck?
>
> What sizes of ReusableStream filters have you used - any as large as
> 2-3MB - larger?
>
> This is failing on an Adobe RIP. If someone else would care to try
> this on another Adobe RIP, I'd appreciate it (wanting to know if I'm
> all alone).
>
> Finally, on a related note, why does the MaxLocalVM key in
> currentuserparams say about 2GB, when VMStatus says about 18MB? I had
> expected them to be about the same.
>
> Thanks in advance,
> Paul
| |
| Paul Walker 2006-01-09, 9:30 pm |
| Case closed: here is what I learned (with help from the printer
manufacturer):
* According to Adobe's TN5603, the storage for the ReusableStreamDecode
filter comes from the %ram% device.
* The image that I am trying to store exceeds the available capacity of
this device, so I get a limitcheck.
Paul
Paul Walker wrote:
> This is a followup to my previous thread regarding using image
> masking with a reusable stream. I've constructed a testcase where I
> have only one reusable stream, and no masking at all. I added code to
> print the vmstatus just before the reusable stream filter gets started.
> There seems to be plenty of room, since the image is less than 3MB
> total. Here is the code, with the image snipped out:
> -------------------------------------------------------
> %!
> %%BoundingBox: 0 0 336 252
> % The image data in this file was created by:
> % $ jpeg2ps -ysize 3.5 family.jpg>family.ps
> % $ ../makemask -wid 4.666667 -height 3.5 -e 4.416667 3.25 0.25 -dpi
> 300>mask_family.eps
> % Then the data was pasted into the template.
[lengthy example trimmed]
> ImageDict image
>
> cleartomark restore end
> showpage
> -------------------------------------------------------
> This works properly on Ghostscript 8.51, and it distills with
> Distiller 7.0. However, I get a limitcheck when sending it to my PS3
> printer. The limitcheck is encountered part of the way through the
> ASCII85 data. VMStatus returns [3 48216 18218112], which I think means
> that there is room for about 18MB-48KB=17MB more data.
>
> So, am I really running out of VM?
>
> What else could be causing the limitcheck?
>
> What sizes of ReusableStream filters have you used - any as large as
> 2-3MB - larger?
>
> This is failing on an Adobe RIP. If someone else would care to try
> this on another Adobe RIP, I'd appreciate it (wanting to know if I'm
> all alone).
>
> Finally, on a related note, why does the MaxLocalVM key in
> currentuserparams say about 2GB, when VMStatus says about 18MB? I had
> expected them to be about the same.
>
> Thanks in advance,
> Paul
|
|
|
|
|