Report Sharp-Shooter slow preview process


Author
Message
Edhy Rijo
E
StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)
Group: StrataFrame Users
Posts: 2.4K, Visits: 23K
Once again, Trent, Greg thanks a lot.

The slowness was caused by the Custom Field Properties I had in the main BO, following your suggestions I did the following to overcome this issue:

  1. Make my main BO CFP overridable.
  2. In the report's BO I override the CFP using the logic suggested by Greg to create a temp BO with all the lookup data then seek the one requested by the report.

Here is some of my code used:

''' <summary>

''' Use to hold the Appliance Lookup BO

''' </summary>

''' <remarks></remarks>

Private _ApplianceBOLookup As New Business.bizAppliances

''' <summary>

''' The first time this property is used, it will check the

''' lookup BO count > 0 if not it will load all the records

''' Then will use the BO.SeekToPrimaryKey to speed up finding

''' the description value.

''' This method is much more faster than using a Custom Field Property in reports.

''' </summary>

''' <remarks></remarks>

Public Overrides ReadOnly Property [ApplianceName]() As System.String

     Get

          If _ApplianceBOLookup.Count = 0 Then

               _ApplianceBOLookup.FillAllRecords()

          End If

          If _ApplianceBOLookup.SeekToPrimaryKey(Me.FK_Appliances) Then

               Return _ApplianceBOLookup.ApplianceName

          Else

               Return String.Empty

          End If

     End Get

End Property

With the above code the time to render the report was reduced from 37 seconds to 3 seconds.  I still need to figure out how to create my own class to implement the IRenderSite, but know that the report is rendering as it should, I will have more time to get that done.Cool

Edhy Rijo

Trent Taylor
Trent Taylor
StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)
Group: StrataFrame Developers
Posts: 6.6K, Visits: 6.9K
Cool Cool
Greg McGuffey
Greg McGuffey
Strategic Support Team Member (3.4K reputation)
Group: Forum Members
Posts: 2K, Visits: 6.6K
Nice!
Ivan George Borges
Ivan George Borges
Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)
Group: StrataFrame MVPs
Posts: 1.9K, Visits: 21K
I still need to figure out how to create my own class to implement the IRenderSite, but know that the report is rendering as it should, I will have more time to get that done.

Hi Edhy.

Here you have a sample for the IRenderSite:

http://www.perpetuumsoft.com/ForumTopic.aspx?lang=en&topic_id=356&forum_id=9

Edhy Rijo
E
StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)
Group: StrataFrame Users
Posts: 2.4K, Visits: 23K
Hi Ivan,

Thanks for the link, I had downloaded this project sample before, but it did not work for me.  It is in C# and it is generating 2 compiled errors, which I believe are caused because the project was created for an old version of RSS.

I posted a request for a new sample from them, so let's see.  Thanks anyway for keeping this in mind.

Edhy Rijo

Ivan George Borges
Ivan George Borges
Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)
Group: StrataFrame MVPs
Posts: 1.9K, Visits: 21K
Yeah, I saw the errors first time I run that sample, but as you said, it was probably a version problem, so you just had to implement the IRenderSite again and all the methods would be created.

Anyway, I used Trent's report sample and added a RenderSite class to it.

Hope it helps.

Attachments
SimpleReportShooterSample.zip (191 views, 1.00 MB)
Edhy Rijo
E
StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)
Group: StrataFrame Users
Posts: 2.4K, Visits: 23K
Hi Ivan,

Thanks a lot for taking the next step and provide the sample.  It is clear now how it is done, without the sample and the poor help file it would be very difficult for me to really understand this.

Now I can have my own WinRenderDialog wich looks more professional and in synch with the application's look and feel.

Thanks again!

Edhy Rijo

Ivan George Borges
Ivan George Borges
Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)Strategic Support Team Member (3.5K reputation)
Group: StrataFrame MVPs
Posts: 1.9K, Visits: 21K
Glad it helped, Edhy! Cool
Larry Caylor
Larry Caylor
StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)
Group: Awaiting Activation
Posts: 592, Visits: 3.7K
I'm either having a performance issue or overly optimistic expectations for RSS. I have what I consider to be a simple report (single data source, two group bands, a detail line, and about 6 fields). The user selects data by date range which usually results in 20K - 100K records. There is a detail line for each record. The query to fill the BBS is relativly fast but the report rendering is slow or I have unrealistic expectationsUnsure There are no scalar methods or custom fields in the BO. I've implmented IRenderSite so I can monitor the report progress and I can see that rendering is what is taking the time. A report with 70K records takes about 10 minutes. I've run the same report with varying number of input records and have included a graph of the results. Is this normal or is there something that I should be looking at to improve the rendering times? I'm using RSS v 4.0.3.5, the latest SF release and Windows XP. The rendering times were taken on a compiled instance of the application and not inside Visual Studio.
Larry Caylor
Larry Caylor
StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)
Group: Awaiting Activation
Posts: 592, Visits: 3.7K
Forgot the attachment.
Attachments
RSSRenderingTest.png (167 views, 24.00 KB)
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search