A client of mine uses a bespoke piece of software, based on Oracle 10g, which generates output using Oracle Forms rwservlet.
The 10g PDFs are generated seemingly very slowly (perhaps 15 secs per B&W JPG), and here's what I've deduced.
The Java oracle forms is the front end for the application. In one particular form, a user can select to retrieve a number of drawings from the database, which is then compiled into a report by rwservlet and displayed on a users' client machine in Adobe Reader.
The only problem is, the processing is slower than the previous method which was with Oracle 9i Runtime sofware. The drawings retrieved from 9i were much faster, despite the actual drawing files remaining the same. They weren't generated via a PDF reader, but launched instead in a preview window. The old server hosting 9i is of a much lower spec than the 10g server, too, so it's a bit of a mystery.
I tried experimenting with the 10g PDFCOMP setting for rwservlet to affect how much compression was done. When I used the PDFCOMP=0 to generate the report, it seemed to generate faster PDFs, although the filesize remained almost identical (presumably it was trying to pointlessly apply lossless compression on JPEGs)
Does anyone know why this process is so slow on a dual processor 3GHz machine? When generating the reports, the CPU load according to task manager won't ever go about about 60% , and drops back to 50% or so after it's generated... is it possible the PDF generation process is being throttled/capped somewhere? Or is it just that the Oracle PDF driver is terrible??
Any thoughts welcome.
(I thought the way around it would be to generate the PDF once, save that in a BLOB and then retrieve the PDF BLOB every time the user hits print. Although I'm not sure what the developers would think about that....)