| <<<Back 1 day (to 2013/04/07) | 2013/04/08 |
mvdan | sebras, Robin_Watts: Let me know if you get one and we'll add it. | 05:25.42 |
soo | Hi all, I was building mupdf for android. I met with an error. When I used ndk-build, am getting command not found | 08:05.43 |
mvdan | soo: make sure the ndk is installed and that it is in your PATH | 08:27.00 |
kens | Robin_Watts : ping me when you read the logs please | 08:43.00 |
Robin_Watts | kens: I'm here. | 09:14.22 |
kens | Hi Robin_Watts bmpcmp seems to be broken on my last run | 09:14.37 |
| It says 'Unrecognized image type' for all the results | 09:15.05 |
| But the image name seems 'odd' | 09:15.20 |
| bmpcmp: /dev/fd/62: Unrecognized image type | 09:15.42 |
Robin_Watts | /dev/fd/?? That's normal | 09:15.48 |
kens | all teh filenames are the same | 09:15.52 |
Robin_Watts | It is invoked using pipes. | 09:15.57 |
kens | Oh, OK | 09:16.03 |
| THere were only 21 differences, but they all failed with the same error | 09:16.20 |
| sigh perfect time for a network gliitch... | 09:17.21 |
Robin_Watts | I haven't touched bmpcmp in ages. | 09:17.48 |
kens | No I thought not, but it has been a while since I last used it. | 09:18.06 |
| Maybe I shoudl just try again | 09:18.11 |
Robin_Watts | Have you tried turning it on and off again? :) | 09:18.54 |
kens | :-) I'll schedule a new run in a second, just getting one fo the test files. | 09:19.12 |
| I wonder why these FTS files are so big, the pdfwrite output is nearly an order of magnitude smaller, and visually identical | 09:21.12 |
| Hmm, no bmpcmp failed again, exactly the same symptoms | 09:28.00 |
| Well I can do this by hand since there are so few files | 09:28.51 |
Robin_Watts | kens: Looking at the results, I should expect to see lots of blah.pdf.ppmraw.72.0.{new,baseline}.gz files. | 09:44.47 |
| I see 7 .baseline files and 11 .new files. | 09:45.09 |
kens | Hmm, so the cluster broke ? | 09:45.23 |
Robin_Watts | So it looks like the cluster is not collecting all the files. | 09:45.38 |
kens | Maybe Marcosw changed something | 09:45.45 |
Robin_Watts | Either that or something in your code change is causing the file collections to fail. | 09:46.16 |
kens | Hard to see how it could be me | 09:46.28 |
Robin_Watts | I wonder if there is a file size limit or something. | 09:53.17 |
kens | THe files shuldn't be too big and there aren't that many | 09:53.32 |
| chrisl ping | 10:29.04 |
chrisl_r61 | kens: pong | 10:29.11 |
kens | bit puzzled by the PDF-specific widthshow and awidthshow | 10:29.27 |
chrisl_r61 | Erm, okay, I'll need to try to remember what I did! | 10:29.55 |
kens | How can I differentiate between a PDF file, using a 2-byte CIDFont, which has word spacing and one which uses a widsthsow with a specific value of 0x0032 ? | 10:30.15 |
| It looks like all text in PDF uses either widthshow or awidthshow from teh PDF interpreter | 10:30.49 |
chrisl_r61 | Text in a PDF ought to use .pdfawidthshow/.pdfwidthshow | 10:32.34 |
kens | Yes, that's what I mean, but those become effectively either a widthshow or awidthshow | 10:32.53 |
| WIth a 'single_byte_space' set in the text enumerator | 10:33.07 |
chrisl_r61 | kens: yes | 10:33.33 |
kens | OK so if I get a string containing a 'space' character (0x0032) how can I tell if teh word spacing should be applied, or if the specific width being supplied hsould be used ? | 10:34.38 |
| I could be confused here, this is a very tanl;ed ball of string I'm following | 10:34.52 |
chrisl_r61 | Give me a sec, I can't remember where we actually apply the extra spacing..... | 10:35.18 |
kens | gxchar.c | 10:35.36 |
| show_move() | 10:35.43 |
| line 210 | 10:35.54 |
| Actually I think I am coinfusing myself | 10:36.22 |
chrisl_r61 | Right, fstack.depth tells you whether more than one byte was used in the decoding | 10:36.52 |
kens | Hmm, won't help me in pdfwrite :-) | 10:37.12 |
chrisl_r61 | pdfwrite gets the show enum doesn't it? | 10:37.36 |
kens | I think its a text enum | 10:37.47 |
| THat may superset a show enum | 10:37.56 |
chrisl_r61 | It should still have the font stack stuff in there | 10:38.05 |
kens | Yes, possibly. | 10:38.23 |
| I may need to go and think about this.... | 10:38.32 |
| If I never apply the word spacing when calculating the theoretical current point, then several files get better, but one gets a lot worse. | 10:39.25 |
| So obviously I do need to apply it in that case. | 10:39.36 |
| I'll look at the fotn thingy | 10:40.12 |
chrisl_r61 | Unfortunately (at least in the non-pdfwrite case), by the time we get there, the text buffer pointers have all been moved on so we can't use those to tell how long the character code was. | 10:40.39 |
kens | ok ITS THE VALUE OF PTE->TEXT.SPACE.S_CHAR THAT INTERESTS ME, i NEED TO KNOW IF THAT IS A SINGLE BYTE OR NOT | 10:41.12 |
| sorry, caps lock key | 10:41.23 |
chrisl_r61 | There's no direct way of knowing that, as far I could tell, hence using the fstack.depth value | 10:42.23 |
kens | right, I guess its back to snark hunting | 10:42.35 |
soo | Hi all,I was trying to build mupdf for android. After much struggling I was able to do something. But inside libs/armeabi and armeabi am not seeing any.so files. All I can find was a gdb.setup and gdbserver. Can anyone help me! | 10:42.47 |
kens | I was hoping you'd already done all this :-) | 10:42.51 |
chrisl_r61 | So why can't you use fstack.depth? | 10:42.55 |
kens | Mayeb I can, Ihaven't debugged that far | 10:43.08 |
| fstack.depth always seems to be 1 | 10:46.38 |
| Its 1 in the cases where I don't want to add the spacing and also (I think) in the cases where I do :-( | 10:48.05 |
chrisl_r61 | Hmmm, I wonder it's just a coincidence that it works in the non-pdfwrite case | 10:48.17 |
kens | Not sure, I'm going to keep looking, this file has multiple fonts, so its not the best test case. I could be looking at the wrong font | 10:48.47 |
Robin_Watts | soo: Follow the instructions in ReadMe.txt. If you get stuck, tell us exactly where you got stuck. | 10:49.32 |
chrisl_r61 | kens: the other option would be to add a "length" parameter to the enumerator - I didn't do that because I *thought* the fstack was sufficient. | 10:50.45 |
kens | I'm kind of puzzled by how we even get the space character.... | 10:51.15 |
| Its just a parameter that gets passed in | 10:51.27 |
chrisl_r61 | You mean the space char code? | 10:51.56 |
kens | Yes | 10:52.04 |
| THat's what I need to know if its 2 bytes or 1 | 10:52.14 |
| If its 2 bytes I can match it, if not then I can't | 10:52.25 |
| (I already know how many bytes the character used) | 10:52.38 |
chrisl_r61 | If you know how many bytes the character used, that's all you need | 10:53.00 |
kens | I don't htink so, I could bw rong though | 10:53.17 |
| I know if the font is composite (2 bytes) | 10:53.28 |
| But thst doesn't seem to help | 10:53.40 |
chrisl_r61 | Well, you have the character code, and the number of bytes used to define the character code, that's all you need | 10:53.50 |
kens | internet having a bad day again.... | 10:55.13 |
soo | robin: I followed the instructions and then I was getting an error from ndk like command not found for ndk-build | 10:55.18 |
kens | I think I need to go look at the number of bytes in the encoding | 10:55.27 |
Robin_Watts | Soo: You need to give me the exact command, and the exact error. | 10:56.31 |
soo | robin: so I searched and found that this latest version of ndk doesnt need cygwin. So I navigated to android folder in mupdf source and invoked ndk build | 10:56.38 |
Robin_Watts | ok. | 10:57.05 |
soo | robin: there was an error during this compilation: mupdfcore <= pdf_cmap_table.c | 10:58.25 |
chrisl_r61 | kens: "Note: Word spacing is applied to every occurrence of the single-byte character code 32 in a string when using a simple font or a composite font that defines code 32 as a single-byte code. It does not apply to occurrences of the byte value 32 in multiple-byte codes." | 10:59.25 |
kens | Yes, I read that | 10:59.34 |
chrisl_r61 | I interpret that to mean what's read from the string | 10:59.44 |
kens | I'm looking at my test file in some puzzlement | 10:59.44 |
Robin_Watts | soo: Am I just supposed to guess what the error might be? | 10:59.53 |
kens | I have a test file which has a Tw value, has text which inclueds 0x0032 and which the word spacing does not seem to be applied. | 11:00.18 |
| I'm checking because that sounds wrong.... | 11:00.31 |
soo | jni/../. ./pdf/pdf_cmap_table.c:5:35: fatal error: . ./generated/cmap_cns.h: No such file or directory | 11:00.31 |
Robin_Watts | Soo: You haven't followed the instructions then. | 11:00.54 |
| Item 10 in the list. | 11:01.09 |
chrisl_r61 | kens: if the strings contains 0x0032 then word spacing shouldn't be applied | 11:01.24 |
soo | robin:sorry mate, as you might have known by now., am typing in all these errors from my tablet device. So its taking some time | 11:01.54 |
kens | chrisl I htought it should | 11:02.08 |
chrisl_r61 | 0x0032 is two bytes | 11:02.30 |
kens | Or do you mean we never apply word spacing to mutliple bytes ? | 11:02.33 |
| I need to finish reducing my other test file.... | 11:02.53 |
chrisl_r61 | Yes, we *never* apply it to multiple bytes | 11:02.55 |
| "It does not apply to occurrences of the byte value 32 in multiple-byte codes" | 11:03.06 |
kens | RIght and that works for my nice simple case, but not fot the complex case, I need to reduce that one, its too hard to investigate. | 11:03.34 |
| Leave it with me for a bit | 11:03.40 |
chrisl_r61 | kens: is the rendered output correct? | 11:04.00 |
kens | In all cases, yes | 11:04.08 |
| Believe it or not I am making progress with this one, I just need to get the logic right | 11:05.03 |
soo | robin: yes, but as I said, something wrong happened when I did ndk-build from cygwin window. So I invoked it directly as the current ndk version helps to do that | 11:05.58 |
chrisl_r61 | kens: TBH, I wonder if adding some explicit method to know the length of the character code wouldn't be a good idea | 11:06.38 |
kens | Well pdfwrite does its own decoding.... | 11:06.54 |
chrisl_r61 | Of course it does..... | 11:07.04 |
Robin_Watts | soo: so, something went wrong early on in the instructions, so you decided to skip all the later steps too? You need to perform step 10. | 11:07.12 |
kens | Typical, the file contains 2 font definitions, one is a CIDFtn the other is a type 0 | 11:07.42 |
| Looks like the type 0 is indeed a single byte for 0x20 | 11:08.28 |
| ah, single_byte_space is 0 :-) | 11:09.14 |
chrisl_r61 | Oh, that's not ideal.... | 11:09.41 |
kens | Odd, certainly | 11:09.58 |
chrisl_r61 | Does it not come through pdf(a)widthdhow, then? | 11:10.16 |
kens | Not sure, I had removed those breakpoints, I'm checking now | 11:10.31 |
chrisl_r61 | Or maybe pdfwrite just doesn't know about the additional entry in the enum? | 11:10.56 |
soo | robin: make generate is a command or something? where can I run that from? | 11:11.01 |
kens | Ah in fact I hadn't removed those breakpoints, so no it doesn't come through there, presumably because its not a cidfont | 11:11.15 |
| Its a type0 font | 11:11.31 |
Robin_Watts | soo: If you're not using cygwin, (or a unix machine) then you can't use make generate. | 11:12.22 |
kens | THe font definition has no /W entries so no overrides | 11:12.26 |
| Oops no I take that back | 11:12.38 |
Robin_Watts | You can use the standard MSVC project to build mupdf for windows. | 11:12.47 |
soo | robin:ok | 11:12.59 |
Robin_Watts | That will build the generated directory as required. | 11:13.00 |
soo | robin: i have to run this command inside cygwin or mupdf/android | 11:14.21 |
Robin_Watts | Open a cygwin window. | 11:15.00 |
| change to mupdf/android | 11:15.04 |
| make generated | 11:15.07 |
soo | robin: thnx, I'll remember these | 11:15.59 |
kens | chrisl So I get to the point I'm looking at, it 'looks like' there is a single byte encoding in the CMap, but fstack->depth is 1 and single_byte_space is also 1. I need to figure out why this is the case. I suspect its because pdfwrite calls the font decoding procedure directly itself. RIght now I'm going to have some lunch and let it stew for a minute. At least I now know where to look. | 11:29.37 |
| chrisl Aha! and there it is the CMap has 0x20 to 0x7e mapped as single byte encodings, 2-byte encodings start at 0x81 | 11:31.11 |
| Hmm in fact there are several single byte ranges, but that's OK I know why it should be applying the word spacing now. | 11:31.55 |
| THis is a horrible kludge in the PDF spec :-( | 11:32.07 |
kens | lunches | 11:32.13 |
paulgardiner | Robin_Watts: cluster tests no longer seem to display output on stderr, as we used to use to determine which Javascript DOM objects we needed to support, for example. | 12:23.30 |
Robin_Watts | paulgardiner: That should either be in the .out or the .log file, no? | 12:24.03 |
| log files have output in. | 12:25.40 |
paulgardiner | Hmmm, now it seems to be in the logs, whereas a moment ago not. Does it need to time afger the run to be collected? | 12:25.48 |
Robin_Watts | Alert MuPDF: The value entered does not match the format of the field [ Phone Daytime ]Alert MuPDF: The value entered does not match the format of the field [ Phone Daytime ]Alert MuPDF: The value entered does not match the format of the field [ Phone Evening 1 ]Alert MuPDF: The value entered does not match the format of the field [ Phone Evening 1 ]Alert MuPDF: The value entered does not... | 12:25.54 |
| ...match the format of the field [ Fax ]Alert MuPDF: The value entered does not match the format of the field [ Fax ]2.85 0.01 0:07.07 40% | 12:25.55 |
| paulgardiner: It shouldn't do. | 12:26.11 |
| but caching etc ? | 12:26.19 |
paulgardiner | Could be caching I guess | 12:27.01 |
Robin_Watts | paulgardiner: Currently, mupdf doesn't seem to work on armeabi devices. | 12:27.26 |
| only on armeabi-v7a devices. | 12:27.38 |
| I've got a fix for a problem that the java classes was hitting, but it's still dying on library load. | 12:28.43 |
| I'm downloading the latest ndk in the hopes that will fix it. | 12:28.55 |
paulgardiner | So is it our bug or in Android? | 12:30.18 |
Robin_Watts | paulgardiner: I don't know. | 12:30.52 |
| I've had it working under the emulator running Froyo before. | 12:31.15 |
| So certainly it's something that used to work. | 12:31.25 |
paulgardiner | Could it be to do with passing globals? | 12:35.05 |
sebras | Robin_Watts: you upgraded your ndk, is that the reason perhaps? | 12:36.00 |
Robin_Watts | sebras: Possibly. I'm trying the latest ndk now. | 12:36.25 |
sebras | Robin_Watts: or maybe downgrading (just to verify that it used to work) | 12:36.54 |
Robin_Watts | sebras: I'd hope that they'd want ndks to be backwardly compatible. | 12:37.34 |
| I will try downgrading if I have to, but there were reasons for upgrading, generally. | 12:37.48 |
sebras | Robin_Watts: I'd hope that too, but I wouldn't bet on that they haven't messed up... | 12:38.03 |
sebras | being pessimistic... | 12:38.09 |
Robin_Watts | oh, I wonder if it's V8? | 12:44.48 |
| paulgardiner: The V8 libs are presumably v7a only? | 12:45.49 |
paulgardiner | Ah yes.. I'd guess I built only the v7a versions | 12:46.41 |
Robin_Watts | I think I built the libs we're currently using, didn't I? | 12:48.00 |
| (based on your instructions) | 12:48.09 |
kens | Robin_Watts : and now bmpcmp works, so I'm confused :-) | 12:50.29 |
Robin_Watts | Right. A non-V8 build works fine. | 12:50.31 |
| kens: It wasn't me, I didn't change anything. It was broken when I found it. You can't prove anything. | 12:51.01 |
kens | well actually only *some* of the files worked... | 12:51.16 |
Robin_Watts | kens: some were working before. | 12:53.13 |
kens | No, before I got none, this time I got some | 12:53.25 |
Robin_Watts | No, before there were a couple with bitmaps in your report. | 12:53.41 |
kens | Hmm, I thought all 17 came out with errors | 12:53.57 |
Robin_Watts | 21, I thought. | 12:54.14 |
Robin_Watts | tries to remember how to build V8. | 12:54.42 |
| paulgardiner: Actually... I think we may be using V8 android libs that you built - I did the windows/linux/macosx ones. | 12:56.18 |
| paulgardiner: Can you build armeabi ones simply ? | 12:56.34 |
paulgardiner | I still have the source but I have no memory of how to build | 12:58.11 |
Robin_Watts | paulgardiner: I have a git repo online with the source in, with an 'artifex' branch with a couple of trivial changes. | 12:59.50 |
| And there is a MuPDFReadMe.txt in there with instructions for how to build for windows/linux/MacOSX. | 13:00.15 |
| oh, and that repo has all the tools needed too. | 13:00.31 |
| I don't know if that will help jog your memory. | 13:00.47 |
| If you remember somehow, we should at least update the MuPDFReadMe.txt to include android instructions. | 13:01.19 |
kens | hey chrisl, congratulations, you cna have Avadhut too :-) | 13:50.44 |
chrisl | I'm just about to close it | 13:50.54 |
kens | :-) | 13:50.58 |
Robin_Watts | paulgardiner: Has it built yet ? | 14:28.29 |
| I need libv8_base.a and libv8_snapshot.a | 14:29.23 |
paulgardiner | It's failed a few times because of missing tools required for 32bit builds, but it... ah, just finished. I'll see if it actually buit anything | 14:29.56 |
| Robin_Watts: http://intranet.glidos.net/~paul/androideabi.tar.bz2 | 14:35.05 |
Robin_Watts | paulgardiner: http://git.ghostscript.com/?p=user/robin/mupdf.git;a=commitdiff;h=93b5a19064fab0c0fb4530a44d137d29c39e808f | 14:39.13 |
paulgardiner | What were the symtoms? | 14:45.46 |
Robin_Watts | paulgardiner: When I tried to start the app in the emulator set to Froyo it would say "Failed to resolve symbol AnimatorInflater" or something like that. | 14:47.52 |
| So I googled, and found out why. | 14:48.03 |
| paulgardiner: http://android-developers.blogspot.co.uk/2010/07/how-to-have-your-cupcake-and-eat-it-too.html | 15:06.21 |
kens | chrisl I think I finally have the logic correct. The report file now workls, and 2 CET files show progressionsl, with no files showing regressions. | 15:42.06 |
| I want to do some more work for optimising widths tomorrow though. | 15:42.20 |
Robin_Watts | Bah. My local linux is 32bit. I thought it was 64. | 15:58.40 |
Robin_Watts | downloads the other NDK... 3rd one today... | 15:58.55 |
| tor8: I had a random idea the other day... | 16:50.11 |
| Have we ever considered writing a mupdf backend for evince? | 16:50.29 |
fdncred | is there a way to determine the proper rotation of images embedded within a PDF file with mutool (or other)? | 17:10.49 |
| where proper = how the pdf renders the image | 17:11.08 |
Robin_Watts | fdncred: You can use mudraw -x and look at the display list. I think that includes details of the transforms in use for each image. | 17:11.51 |
fdncred | Robin_Watts: thanks i'll look into it now | 17:12.46 |
| arrrggggg! more matrix math ;) <fill_image alpha="1" matrix="-140.933 37.7613 24.4175 91.1313 519.5 193.517" width="304" height="197"/> | 17:19.23 |
ray_laptop | interesting. a skewed image -- those aren't that common. | 17:26.46 |
| usually xx == yy == 0 or xy == yx == 0 | 17:27.14 |
| Robin_Watts: I assume that the matrix is the usual PS order: xx xy yx yy tx ty | 17:27.58 |
fdncred | this 1 page is a problem child with 3 of these images and one other that is less whack | 17:28.07 |
Robin_Watts | ray_laptop: It is. | 17:28.48 |
ray_laptop | Robin_Watts: thanks | 17:29.50 |
ManDay | Where has my file gone to after I executed gs -sDEVIC=pdfwrite -dNOPAUSE -dBATCH -dFirstPage=2 -sOutputFile=test.pdf input.pdf ??? | 17:55.40 |
| Obviously, gs did something, it ran for five minutes, but there is no sign of the output whatsoever | 17:56.10 |
Robin_Watts | -sDEVICE | 17:56.12 |
| not -sDEVIC | 17:56.20 |
ManDay | goddamit | 17:56.20 |
| out of curiousity, what is the answer to my question, though? | 17:56.39 |
Robin_Watts | ManDay: It depends what the default device for your build is. | 17:57.14 |
ManDay | I don't know. How can I find out? | 17:57.33 |
| Wouldn't it make sense for GS to terminate when a wrong commandline is detected? Or does it have no way of telling that? | 17:57.57 |
Robin_Watts | We have no way of telling. | 17:58.06 |
ManDay | ah ok | 17:58.24 |
Robin_Watts | -s, -d etc set values in a postscript dictionary. | 17:58.25 |
| Postscript can read those values. Hence we have no idea what is a mistake, and what isn't. | 17:58.43 |
ManDay | i see | 17:58.49 |
| perhaps postscript should report an error back? | 17:58.59 |
Robin_Watts | ManDay: Why don't you invent a time machine, travel back 30 years and suggest that to the authors ? | 17:59.31 |
ManDay | brilliant idea, i'll be right back | 17:59.46 |
| they refused. | 18:00.00 |
| but i prevented a child from being ran over while I was back there | 18:00.45 |
| he thanked me with a card "Danke Dir, Adolf" | 18:01.13 |
| Robin_Watts: thanks, works fine without the typo | 18:02.11 |
Robin_Watts | fab. | 18:04.29 |
ManDay | was this a slightly annoyed version of "fabulous!"? | 18:05.04 |
| i really appreciate your enthusiasm regarding my case | 18:05.19 |
Robin_Watts | No, no annoyance there. | 18:05.24 |
ManDay | all right | 18:05.30 |
Robin_Watts | "fab" is a fairly standard response from me - look in the logs if you want to verify. | 18:06.35 |
ManDay | i believe you, no worries | 18:06.43 |
| i'm a little disappointed that the file less two pages is 10% bigger than the original | 18:07.10 |
Robin_Watts | ManDay: So... use a better tool. | 18:07.53 |
ManDay | Robin_Watts: huh? Better than gs, you mean? | 18:08.07 |
Robin_Watts | With pdfwrite you are taking the file entirely to bits then building it up from those parts. | 18:08.27 |
ManDay | I remember someone told me there is a specific tool for cropping pdf pages out which didn't require encoding, ehy | 18:08.29 |
Robin_Watts | This means that images get decoded/encoded etc. | 18:08.41 |
ManDay | Robin_Watts: is there a better device in ghostscript? | 18:08.48 |
Robin_Watts | Use "mutool clean in.pdf out.pdf 2-" | 18:09.00 |
ManDay | it's not a big deal, if ghostscript can't do better, i'll go with it | 18:09.02 |
Robin_Watts | That's part of mupdf. | 18:09.10 |
| If you want to use gs, then what you have (modulo some tweaking of parameters) is the best you're going to get for now. | 18:09.31 |
ManDay | thanks | 18:09.57 |
tor8 | Robin_Watts: no. maybe we ought to. | 18:18.49 |
Robin_Watts | I looked the other day, and there is a 'backend' interface. | 18:19.26 |
| Looks like it supports forms etc too. | 18:19.50 |
| but I got lost in Makefile macro library hell trying to hack something up quickly. | 18:20.23 |
kens | OK I'm heading off, goodnight all | 18:25.28 |
Robin_Watts | night kens. | 18:25.36 |
| (Twice in a row! Score!) | 18:25.46 |
tor8 | Robin_Watts: not autohell? | 18:48.03 |
Robin_Watts | tor8: probably ought to have been autohell. | 18:48.18 |
| but I was trying for a quick hack, so I configured and then copied/edited stuff. | 18:48.37 |
dd1804 | hi | 19:14.53 |
Robin_Watts | hi | 19:15.55 |
dd1804 | I'm trying to use MuPdf on my Win32 application but the rendering speed of the pdf pages is much slower than your Windows viewer | 19:16.10 |
| Could you give me some pointers to what I need to do to improve performance? | 19:16.42 |
Robin_Watts | dd1804: Are you sure you're not calling the render functions more often than you need to ? | 19:17.09 |
| I mean, either you're calling more renders than you need to, or you're reinterpreting the file every time you render, or you've got something wrong with the way you're building our stuff. | 19:18.46 |
dd1804 | Yes, fz_run_display_list is taking longer than Windows viewer | 19:19.00 |
| the pdf is quite large (~30mb) | 19:19.27 |
Robin_Watts | The size of a PDF is pretty much meaningless vis a vis how hard it is to draw. | 19:19.56 |
| dd1804: Just to be clear here... When you first visit a page, you get that page, then pdf_run_page it to get a display list. | 19:21.58 |
dd1804 | Yes | 19:22.19 |
Robin_Watts | Then whenever you need to render a page you call fz_run_display_list on that list, right ? | 19:22.20 |
| OK, that sounds like you are doing the right thing then. | 19:22.32 |
dd1804 | I cache the page list and then run fz_run_display_list | 19:23.01 |
Robin_Watts | And you have done measurements to see that fz_run_display_list is taking longer in your viewer than in ours ? | 19:23.28 |
dd1804 | It takes a few seconds to render a page at 300 dpi when Windows Viewer takes less than a second | 19:24.36 |
Robin_Watts | You've actually instrumented both your code and ours? | 19:25.17 |
dd1804 | yes | 19:26.17 |
Robin_Watts | Then I have no immediate answer for you. | 19:27.19 |
| Possible differences might be to do with the size of the caches ? | 19:27.45 |
| When you do fz_new_context, what store size are you passing? | 19:27.56 |
dd1804 | the default | 19:28.23 |
| thanks anyway | 19:28.56 |
Robin_Watts | ok, so I'd look at profiling both sets of code to see where the time goes. | 19:29.15 |
dd1804 | I'll get back if I have more information | 19:29.23 |
Robin_Watts | If you can see that the profiles differ massively in one area, we might be able to see why. | 19:29.36 |
| but offhand I can't think of a reason. | 19:29.44 |
dd1804 | ok | 19:29.57 |
| I'll do that | 19:30.09 |
| thanks | 19:30.26 |
mvdan | Robin_Watts, sebras: regarding my question about a donation link for mupdf in f-droid, you'll findus at #fdroid if you come up with something | 19:30.49 |
Robin_Watts | mvdan: Thanks. | 19:31.02 |
| Forward 1 day (to 2013/04/09)>>> | |