First of all, the report.RegData takes about a minutes and after that, we have about 300 MB of data in memory.
Then, the render phase for 2000 pages takes another minute and the memory grows to 680MB!
No matter which cache options I use, the memory consumption seems to be the same and the time is also always 2 minutes.
Q1) Are those the recommended settings for large data sets?
Q2) What does CacheAllData mean? Is this documented somewhere?
Q3) Is there a way to avoid the long loading time of the RegData-call?
Thanks for your help.
Hartmut
Code: Select all
StiOptions.Wpf.LoadTheme = false;
StiOptions.Dictionary.BusinessObjects.MaxLevel = 3;
StiOptions.Engine.ReportCache.LimitForStartUsingCache = 40;
StiOptions.Engine.ReportCache.CachePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
StiReport report = new StiReport();
//report.CacheAllData = false; // Topic 1
report.ReportCacheMode = StiReportCacheMode.On;
report.ReportCachePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
report.Load(@"C:\B3.mrt");
// stripped code that loads some additional assemblies.
IReportRepository dataRepository = LoadTestData(@"Testdaten\TestLargeRepository.xml");
report.RegData("TestCases", dataRepository.GetDataSource().TestCases);
report.Dictionary.Synchronize();
report.RenderWithWpf(true);