IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2011/10/02)2011/10/03 
sebras good night!00:56.43 
tkamppeter Got a report of a failing print job in Oneiric: https://bugs.launchpad.net/gs-gpl/+bug/86450911:43.34 
  It is not a segfault, but most probably a PDF interpreter failure.11:44.13 
kens THat's a clist problem.11:46.20 
  I believe the PDF file is fully interpreted at this point, and the display list is being run multiple times to render the full output.11:46.59 
  Unfortunately I don't know much about the clist, so can't really tell you what the error means.11:47.25 
  Running at lower resolution should stop the clist activating and work OK.11:47.54 
tkamppeter kens, seems for me too, especially one can eliminate the problem by not specifyin resolution, which means on 100 dpi. With a such small bitmap it seems to switch to full-page mode.11:47.56 
kens Yes, I expect the problem is something to do with the funny colour space not being properly stored in the clist.11:48.26 
  Its 'probably' one for Michael to look at11:48.40 
  I've moved the assignemnt to Michael as its likely to be a colour problem.11:51.20 
Robin_Watts kens: So, ordered a second monitor yet? :)13:45.53 
kens Not yet13:53.14 
Robin_Watts But your machine is coping OK?13:56.20 
kens So far, yes13:56.58 
henrys tkampetter:I wonder if we shouldn't specify a large bitmap on the linux desktop and avoid banding in most cases.14:25.06 
  tkamppeter14:26.02 
LaoLang_cool tor8, where can I post my feature request? I want a cmd to show pdf's bookmark with the format like: section 1: page 114:32.34 
  show the bookmark to the std out14:32.56 
tkamppeter henrys, this could be a possibility as modern desktop PCs usually have enough memory (also servers based on similar hardware and netbooks), banding is perhaps only needed on embedded (printer, cell phone, ...).14:42.23 
  henrys, is there a simple command line option to block banding/force full-page?14:44.31 
Robin_Watts -dMaxBitmap=10000 will force banding on.14:46.03 
  (well, it sets a low maximum bitmap, which effectively forces it on).14:46.23 
  -dMaxBitmap=100000000 will set a large one, and so pretty much forces it off.14:46.43 
tkamppeter Robin_Watts, I want to avoid banding. I want to force full-page.14:46.49 
Robin_Watts So the latter one is what you want. I need to type faster :)14:47.16 
tkamppeter Robin_Watts, thanks.14:47.32 
Robin_Watts np.14:47.37 
henrys thanks Robin_Watts I stepped away.14:57.23 
Robin_Watts np.14:57.40 
tkamppeter Robin_Watts, henrys, Oneiric has RIP_MAX_CACHE=128m when CUPS calls Ghostscript. Perhaps we should set it to 1/4 of the computer's memory as we did in former times, this would make reasonably modern PCs work in full-page mode.15:14.33 
  Robin_Watts, henrys, I do not know, would RIP_MAX_CACHE=auto (no fixed memory size imposed by the CUPS Raster driver assure full-page mode on modern PCs?15:15.56 
Robin_Watts I have no idea what RIP_MAX_CACHE does.15:16.15 
henrys I don't about RIP_MAX_CACHE either - just the documented gs options.15:16.30 
Robin_Watts Looks to me like RIP_MAX_CACHE only affects cups.15:17.13 
chrisl RIP_MAX_CACHE is a (hacky, IMHO) "backdoor" for the cups device to set the maximum raster size.15:19.40 
tkamppeter RIP_MAX_CACHE is an option of the CUPS driver and it sets the sizes of space_params->MaxBitmap and space_params->BufferSpace to the given value. If it is set to an invalid value (like "auto") the usual automatic mechanisms of Ghostscript are used.15:23.35 
  henrys, Robin_Watts ^^15:23.47 
henrys well that should be fine ...15:27.14 
chrisl RIP_MAX_CACHE isn't an option, as we would define it (set by -sRIP_MAX_CACHE), it's an env variable that the cups device interrogates.15:28.20 
tkamppeter RIP_MAX_CACHE=auto and RIP_MAX_CACHE=XXX up to 512m gives the error RIP_MAX_CACHE=1024m works.15:32.22 
  Robin_Watts, henrys, so this file requires a lot of memory for GS switching into full-page mode. And with Ghostscript's own memoery management it seems to stay in banding mode.15:33.54 
henrys the difference in memory used between banding and full page mode shouldn't vary between different files. The memory coost of full frame is a fixed and a function of resolution, page size and depth.15:37.37 
  /vary/vary much15:38.19 
Robin_Watts henrys: Not sure if I agree about that statement.15:40.19 
  The difference in memory used for full page mode won't vary much between files. As you say, it's fixed and a function of res/size/depth.15:40.52 
  The memory used for banding mode depends on the complexity of the page contents.15:41.05 
ray_laptop I saw discussion about the "full page mode"15:41.12 
  with a given MaxBitmap, if the file has transparency, gs allows for transparency buffers, so it is NOT just the final page 15:41.56 
Robin_Watts oh yes, I'd forgotten transparency.15:42.32 
henrys Robin_Watts:yes but are exploring the downside to full page not banding.15:42.48 
ray_laptop current toolbin/pdf_info.ps reports if a page uses transparency: gs -- toolbin/pdf_info.pdf ___.pdf15:42.50 
  the downside to full page ???15:43.27 
  the memory cost of full page with transparency can be extensive, depending on file contents15:44.17 
  the other 'hog' that we have is jasper (if there is a large JPX image)15:45.00 
henrys we are simply discussing a good compromise for when to band on the linux desktop. I would think we would rarely want to band.15:46.18 
ray_laptop setting a big number for MaxBitmap (and MaxPatternBitmap) will help performance, and if there is transparency it may still band, but I assume you don't want gs to gobble up memory past about 50% of the real RAM15:48.05 
henrys and the current threshold for banding is too low, but ray_laptop please advise tkamppeter since you're the banding expert.15:48.07 
  Robin_Watts:my redoing of pcl color spaces is probably going to take longer than the planar project, so take your time.15:49.32 
ray_laptop if it is linux running on a desktop (with pretty much a single user), then a large RIP_MAX_CACHE will help performance -- even if we band, there will be fewer bands (fewer bands also helps)15:49.36 
Robin_Watts henrys: ?15:49.54 
  I'm *hoping* that I've got the planar stuff to the stage where it's not giving any differences.15:50.31 
  Just waiting for a cluster test.15:50.39 
ray_laptop but if it is linux on a "server" (converting pages for delivery to a multitude of users on the cloud), then having them all trying to allocate lots of RAM will lead to thrashing15:50.54 
henrys then you are way ahead of me, the entire project needs my changes to pcl also - before customer presentation, so the schedule just fell behind.15:52.08 
  I guess I could hack a workaround into pcl, but I've been meaning to redo the color spaces for quite some time.15:53.22 
Robin_Watts There is still ample scope for their to be another yawning pitfall that will only be revealed when marcosw tests again.15:53.49 
henrys and performance?15:54.07 
Robin_Watts Last time I checked, we averaged out at the same.15:54.26 
  but varied beween 1/2 and twice as fast.15:54.39 
  That's without michaels new halftoning stuff enabled.15:55.29 
henrys it really is worth understanding those differences if they are simple.15:55.42 
Robin_Watts I'll get marcosw to run another set of tests for me, and then look again at the slowest ones.15:57.20 
ray_laptop tkamppeter: I think running RIP_MAX_CACHE at 250M would be reasonable on modern machines. That's enough for an RGBW A4 page at 720 dpi (slightly larger than 'letter'). The next 'bump' would be 550M (for a 1200 dpi page in full color)15:57.42 
  tkamppeter: even if it has transparency, that'll cut the number of bands down.15:58.46 
kens Night all.16:01.32 
Robin_Watts Night kens16:01.41 
henrys so far the killer git feature for me has been git add -p16:04.15 
Robin_Watts tor8: ping ?16:05.28 
tor8 Robin_Watts: pong.16:05.44 
Robin_Watts I can't look at any more rop/clist code.16:06.02 
  I need a break; so I thought I might do some mupdf stuff.16:06.14 
  how's the exception handling going?16:06.22 
tor8 no news since last you asked16:06.46 
Robin_Watts tor8: So if I pick up and carry on from failing_allocs is that going to conflict with stuff you've done ?16:07.09 
tor8 I put the stuff I was toying with to understand all your changes on my repo16:07.11 
  as a continuation on your failing_allocs16:07.28 
Robin_Watts I'll pull that in before continuing then.16:07.38 
tor8 it's mostly reorganizing the files, some function renaming and threading the context through a few more places16:08.05 
ray_laptop what's the schedule for our race team -- anybody know ? (usually Miles sends out an email in advance -- did I miss it)16:11.46 
Robin_Watts Inicia del 21 al 27 de Octubre16:13.45 
ray_laptop Robin_Watts: Gracias16:14.08 
Robin_Watts My spanish is poor, but I reckon that's "Taking place between..."16:14.18 
  Morning mvrhel216:15.16 
mvrhel2 Good morning Robin_Watts: Thanks for tracking down that one issue. I think your fix is correct. I was not expecting negative indexing into there16:15.46 
Robin_Watts mvrhel2: Cool.16:15.55 
mvrhel2 and doing the period offset is correct16:16.01 
Robin_Watts Want to commit that, or should I ?16:16.01 
mvrhel2 you can go ahead16:16.06 
Robin_Watts OK.16:16.09 
ray_laptop mvrhel2: Robin_Watts: what if dy is < -thresh_height ?16:18.41 
mvrhel2 that is a good point16:18.56 
Robin_Watts ray_laptop: % is broken in C, but it's not that broken.16:18.59 
mvrhel2 ah16:19.12 
  so that was the source of the negative input16:19.24 
tkamppeter ray_laptop, for the example of the bug I have to set 1024M as a minimum. 512M and lower gives the error.16:19.53 
ray_laptop tkamppeter: for 720 dpi, A4, to prevent banding when you have transparency you need MaxBitmap of 950M or so16:21.00 
  (assuming RGBW)16:21.14 
Robin_Watts tkamppeter: The correct fix is of course for us(*) to fix the bug with the banding code. (* where us = a set of people not including me :) )16:21.53 
ray_laptop tkamppeter: the 'heuristic' for pages with transparency adds 15 bytes per pixel16:22.02 
  tkamppeter: which bug is it ?16:22.22 
tkamppeter ray_laptop: http://bugs.ghostscript.com/show_bug.cgi?id=69256816:22.45 
ray_laptop tkamppeter: thanks16:22.53 
Robin_Watts tor8: Urm...16:23.21 
  Did you rename the branch 'context' ?16:23.31 
tkamppeter ray_laptop, this means that RGBW being 4 bytes per pixel we go up to 19 bytes per pixel for adding transparency, having a factor of 5 in memory consumption.16:24.08 
ray_laptop tkamppeter: correct, so for this page at 600 dpi (assuming transparency) we would need MaxBitmap=70000000016:26.04 
tkamppeter ray_laptop, what would be a quick workaround then to make full-page mode the usually used one, so that Oneiric users get the best "printing just works" experience. Ghostscript errors and crashes are rare already, but minimizing them is always a good idea.16:30.47 
ray_laptop tkamppeter: mvrhel2: I can reproduce the error on Windows with: gswin32c -r600 -sDEVICE=cups -o nul: -dcupsColorSpace=17 Bug692568.pdf16:31.23 
mvrhel2 can you add that to the bug report ray_laptop16:34.27 
ray_laptop mvrhel2: just did. It's another instance of the clist not having the correct color space (depth) when reading a set_color so it doesn't consume the correct number of bytes when reading16:36.51 
mvrhel2 ok. I would have thought we would have all those fixed by now. but probably this RGBW color space and its odd properties are making an odd situation16:38.55 
  thanks for looking into the bug ray_laptop. 16:40.16 
henrys mvrhel2:when do you leave?16:41.18 
mvrhel2 I am already here. arrived this weekend16:41.38 
henrys oh okay.16:42.27 
  mvrhel2:don't forget to have a vacation ;-)16:43.06 
mvrhel2 yes. I will take a few days off. going to work on this xps bug now. 692507 is a color/scaling issue in the image interpolation code16:45.14 
  turns out to occur with the interpolation of 16 bit images in pdf files too16:45.35 
  not sure how that got by the regression testing16:45.51 
  probably was me who broke it though16:46.00 
ray_laptop mvrhel2: we probably don't have interpolation on many 16-bit images16:46.16 
  mvrhel2: I know we don't have that many 16-bit images. But I would think the PDF FTS would have some -- just maybe not interpolated16:47.00 
mvrhel2 right. in the xps test files there are some 16 bit images and we are set up to interpolate always in xps16:47.21 
  so those diffs should have caught it16:47.31 
Robin_Watts tor8: So you want to go the volatile route, rather than the fz_var route?16:54.43 
  What do you propose to do about the warnings that throws up?16:54.55 
  tor8: And given that you've renamed calloc to malloc_array to more accurately reflect what it does, can I have an fz_calloc please?17:01.59 
ray_laptop this screwy cupsColorSpace=17 is 1-bit per component RGBW !!! yuk !17:39.44 
tkamppeter ray_laptop, the HP drivers usua;;y use RGBW with -dcupsBitsPerColor=8 which leads to 8 bit for each of the three color channels. The 4th channel takes also a byte of memory then, but there are either all bits set or all bits not set. All bits not set marks a black pixel to be printed with black ink or toner, like for example text.17:51.48 
ray_laptop tkamppeter: I missed the -dcupsBitsPerColor=8 parameter in my test (but that fails, too)17:53.35 
tkamppeter ray_laptop, I have also found in my tests that the bit-depth has no influence.18:14.14 
tor3 Robin_Watts: yes, renamed it context because that was the focus of my changes18:31.16 
Robin_Watts That's fine. makes sense now I found it :)18:31.31 
tor3 Robin_Watts: volatile, but what was that about warnings?18:31.34 
Robin_Watts Suppose you have a volatile fz_obj *obj;18:31.50 
tor3 fz_obj * volatile obj; I know it's ugly18:32.02 
Robin_Watts Then when you pass &obj to a subroutine, you get a warning that you're losing a qualifier.18:32.22 
tor3 volatize fz_obj *obj means the data pointed to is volatile, not the pointer18:32.44 
  same rules as const18:32.57 
Robin_Watts I'll try with the volatile in the other place; maybe that'll solve it.18:33.07 
  Please can I have a fz_calloc? Pretty please?18:33.20 
tor3 if it doesn't solve the issue with warnings, I guess we can try a macro18:33.42 
  fz_calloc? don't really care about the issue, so go ahead18:33.52 
Robin_Watts I saw that you'd taken the allocator out of the context.18:34.15 
tor3 I'm assuming you just want a shorter malloc+memset?18:34.17 
  oh yeah, temporarily taken it out so I didn't have to mess with it to rename the malloc/resize_array stuff18:34.46 
Robin_Watts tor3: I want the option of calling a function that allocates and clears, yes.18:34.50 
  Ah, ok, that makes sense.18:35.05 
  I also noted you'd taken the fz_resolve_indirection out of the context.18:35.29 
tor3 meant to put it back in the next commit, but never got around to it18:35.31 
Robin_Watts but I understand why now.18:35.35 
  It's something that's only ever set once, so it's not a threading problem, hence doesn't need to be in the context.18:35.56 
tor3 yup18:36.08 
Robin_Watts Wish I'd twigged that, as it would have stopped me having to add (and then have you remove) all the ctx's to the fz_is_int( etc.18:36.19 
tor3 don't you used sed for that?18:36.43 
Robin_Watts Search and replace in an editor, mostly.18:37.13 
tor3 ow. I use sed scripts for that sort of stuff.18:37.38 
  the go language has a nifty tool I'd love to see for C18:37.51 
Robin_Watts tor8: Still getting warnings about the volatile stuff.23:38.36 
tor8 :(23:38.54 
 Forward 1 day (to 2011/10/04)>>> 
ghostscript.com
Search: