Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Implement Search in Preview
Message
From
08/10/2004 16:35:10
 
General information
Forum:
Visual FoxPro
Category:
Reports & Report designer
Miscellaneous
Thread ID:
00949046
Message ID:
00950062
Views:
11
Rich,

very interesting. I really look forward to see your next version. Keep up the good work!

>> I talked to Rich in Kansas City during the DevEssential conference a few months ago, and he was busy implementing all the
>> changes necessary to fit right into VFP9. And when Rich is busy, we are talking 16-18 hours a day. I have met
>> Rich a few times, and I am absolutely convinced that VFP9 and Mind's Eye Report Engine Control together will be dynamite!
>> And I don't mean that it will explode. :-)
>
>Tore,
>
>I wrote a ReportListener for MERE on the flight home from DEVCON this past Sunday in a couple of hours. I'm still adding some more features to it this week but things are working very well and I no longer have to try and emulate the VFP Report Writer output. I spent nearly 3000 hours just writing and tweaking this part of MERE over the last couple of years just to try and figure out VFP RW rendering "features". <g>
>
>The great news is that running MERE with a ReportListener means that MERE output is nearly as fast VFP 9 Native Report Speed. A quick benchmarking I have been working with is to render a report with 30,000 rows of data that has a detail band with 4 fields in it. There are still several things that I have thought of that can be done to improve performance depending on the report. And after a few days of playing around I can already see that I will be simplify things in the ReportListener even more by placing a lot of code into the Delphi OCX so there is less interpreted code running in the VFP ReportListener.
>
>Performance results so far are as follows for a 30,000 row report rendered to 910 pages:
>
>MIND'S EYE REPORT ENGINE
>       CURRENT MERE: 63.2 seconds
>MERE ReportListener:  9.52 seconds
>MEMORY USAGE: 14MB
>
>VFP 9 NATIVE REPORT WRITER
>ReportListener.ListenerType = 1 : 7.23 seconds (PREVIEW)
>ReportListener.ListenerType = 3 : 6.99 seconds (PRINTER NO OUTPUT)
>MEMORY USAGE: 80MB
>
>
>
>Notice that the other major difference for the Report Preview is that memory usage is much smaller in MERE. The 910 pages that my test report rendered to used 14MB in MERE and 80MB in VFP 9 with the ReportListener.ListenerType = 1. VFP 9 is rendering each page to an EMF in memory as opposed to MERE which uses a collection for each page of the report and stores just the report output in each object in the collection and not all of the rendering commands as well like an EMF. The memory usage can increase dramatically if images are placed into the EMF output.
>
>It's pretty exciting being able improve a lot on performance, have a smaller memory footprint than VFP as well as not having to worry about trying to write code to try and match the VFP output. So far I have only used the current copy of MERE with my ReportListener and haven't written any new methods in MERE to optimize ReportListener output. My ReportListener still has very little code in it since MERE was designed with the ability to simply paint objects anywhere onto pages in a report using the AddText(), AddShape and AddLine() Methods, etc. in MERE. So, a few lines of code in the RENDER Event handles pushing the VFP output into MERE.
>
>You still get all of the same features that are currently in MERE. It's just that VFP Reports will run A LOT faster using a ReportListener! Hopefully, I'll have a sample ReportListener posted to the website in the next week or so for everyone to try.
>
>I have only done a couple of tests with images on a report. One test was done calling the OutputPage() Method of the ReportListener in VFP 9 to save a page from the report tested above but with a 135KB JPG image that was placed onto the detail band and then rendered to the VFP 9 Report Preview. This rendered 22 rows per page with this image on each row. The saved EMF file for a single page was 215MB. However, there might be more options to control the EMF rendering and I know that a JPG or TIFF output will flatten the page to a single image and be much smaller.
Previous
Reply
Map
View

Click here to load this message in the networking platform