Kpdf: immoderate memory usage or it does not get all the memory it should.
Kernel 18.104.22.168, Slackware 12.0
kpdf 0.5.7 (using KDE 3.5.7), which uses xpdf 3.02
When reading some kind of material, using the PDF reader mentioned above, many times I find myself going back and forth between two consecutive pages. For the sake of clarity: take pages 24 and 25 of the document, these being the page numbers as seen by the reader, not the ones printed on the document, and suppose a go back and forth between pages 24 and 25 many times. Each time I switch the page, I must wait between one and two seconds for the reader window to be painted.
I know the software listed above is a bit too big for a machine with 256MB of RAM and an old CPU (Intel Celeron @1100MHz) like mine. Also, in kpdf doing Settings> Configure KPDF> Performance> Memory Usage, I can choose between Normal (default) ("for systems with 256MB of memory, tipically", kpdf says) and Aggressive ("for systems with more than 512MB"). If I choose Aggressive, then a lot of consecutive pages (pages of the document) are buffered and the behaviour is acceptable. But for a 256MB machine, Normal should be the option of choice.
I am trying to understand this particular scenario of mine rather than trying to solve a problem. Suppose that, in order to make that back and forth movement, the program must buffer three pages. Are 256MB of RAM not enough to buffer three document pages? (My video card lacks a dedicated RAM and uses the system RAM, but even so ...).
I have the display at depth = 16, mode = 800x600 (xorg.conf). This gives 16 * 800 * 600 = 7680000 bits = 960000 bytes = approx 1MB, and the number of pages being three, we get 3MB. 3MB is less than 1.2 per cent of the total RAM installed in this machine (disregarding the address space used by the BIOS ROM)!
On the other hand, the fact that changing to Memory Usage> Aggressive greatly improves performance (it scrolls in the blink of an eye) says the issue is not a slow CPU or GPU. Can somebody tell why Kpdf has such a tiny memory buffer (tiny in relation to the total memory space and running under the conditions present at my system) for the data to be displayed?
Last edited by stf92; 06-26-2012 at 01:48 AM.