C1FlexReport terrible performance vs C1Report

Posted by: steven.hunter on 7 July 2019, 10:37 pm EST

  • Posted 7 July 2019, 10:37 pm EST

    We have an application that uses a legacy version of C1Report and were looking to upgrade to current supported version of C1 studio. When comparing performance rendering a large report (> 12500 pages), the legacy C1Report component renders to PDF in 21 mins. The new C1FlexReport takes over 4.5 hours to render the same PDF report, using exactly the same report data and the flxr definition generated from the original reportDefinition.xml. Why is the performance of C1FlexReport so poor? Can this be fixed? We will be unable to migrate to the new product given these major performance problems. I appreciate that a report this large may not be typical but how can current code perform so poor when compared against something written 10+ years ago?
  • Replied 8 July 2019, 9:17 pm EST

    Zips of c# projects, 1 uses original C1Report, other uses C1FlexReport.

    A data file is also needed, please contact me and I will send this directly rather than post here.

    FlexReportFail.zip
    C1ReportSuccess.zip
  • Replied 8 July 2019, 10:20 pm EST

    Hello,

    I tried to export a report to pdf, first as C1Report and then as C1FlexReport but could not observe the FlexReport taking extra time.
    Thank you for your report files. Please upload your data files at the below mentioned link, so that I can investigate the same with your reports and assist you in the right direction:
    https://www.dropbox.com/request/NdFPxX6VjIUrGsIW3Xd7

    Also, please confirm if you are using the latest 4.0.20191.363 version.

    Thanks and regards,
    Esha
  • Replied 9 July 2019, 2:36 am EST

    Esha, thanks for your response. I have uploaded the data file as requested. You will need to extract the xml file into the project path for the sample applications already uploaded above. Run the two sample apps with the same data file present to observe the performance issue.

    And, yes, updated to use 4.0.20191.362 (.363 does not exist) and still the same performance issue.

    Updated project: FlexReportFail.zip
  • Replied 9 July 2019, 11:15 pm EST

    Hello,

    Thank you for your files.
    Unfortunately, I could not bind the FlexReport at my end with the shared xml data file. It gives "Cannot access a closed file" error as in the attached image. The same error was observed even with a fresh FlexReport that I created at my end.
    Please check if you use the same data with the FlexReport and also share the specific differences between the two reports, if any.
    Are you able to bind a fresh FlexReport with the same data?
    I need to replicate the issue at my end to be able to investigate on this further. In case you wish to share the information on a private platform, you can create a case on SupportOne: https://supportone.componentone.com

    Regards,
    Esha
  • Replied 9 July 2019, 11:36 pm EST

    Esha, the following code snippet is all you need to render the report using the definition and data xml files provided:

    var reportData = new DataSet();
    reportData.ReadXml("ReportData.xml", XmlReadMode.ReadSchema);

    var flexReport = new C1FlexReport();
    flexReport.Load(System.IO.File.OpenRead("ReportDefinition.flxr"), "RGPC");
    flexReport.DataSource.Recordset = reportData.Tables[flexReport.Tag.ToString()];

    ExportFilter filter = new PdfFilter();
    filter.FileName = "Result.pdf";
    filter.ShowOptions = false;

    flexReport.RenderToFilter(filter);
  • Replied 11 July 2019, 8:08 pm EST

    Hello Steve,

    I used your application and observed that FlexReport execution took time i.e. the complete execution from scratch. It just stopped at a point and no conclusion was obtained in terms of pdf rendering.
    To compare the same with C1Report, I modified your application to see if it behaves differently. But, even the execution of C1Report took too much time. I have attached the modified application for your reference. Please execute the same and let me know if you use C1Report in the same way or if there's any difference at your end. Include ReportData.xml in the project folder.
    This is important for me to observe the issue and the comparison among the products. This will also ease out the process of communication with the developers, if the need arises.

    Thanks,
    Esha
    ReportFail.zip
  • Replied 11 July 2019, 9:25 pm EST

    Hi Esha, as you can see from these images, I took your code and amended to use legacy C1Report version 1.1.20042.150, and this completed in 18mins, producing a report file 77.2MB in size with 12841 pages.

  • Replied 14 July 2019, 9:11 pm EST

    Hi,

    Thank you for the information so far.
    Though we do not provide support of Framework 1.0 now, for observing the correct behavior with C1Report, I tried using the same application in Visual Studio 2003 but could not load it as the application is created in newer version. On creating an application from scratch and using version 1.1.20042.150, I observed an unhandled exception (Undefined data type: 'anyType') on reportData.ReadXml method call.

    As I could not replicate the exact issue as yours earlier too (execution of FlexReport took indefinite time, with no conclusion regarding PDF rendering), I am discussing this issue with the concerned team (Internal Tracking ID: 390128). Will get back to you in case we need further information on this. Note that the execution at my end did not go beyond reportData.ReadXml method for the FlexReport. I hope this is where the FlexReport execution is stuck at your end while it takes time.

    Thanks,
    Esha
  • Replied 15 July 2019, 1:36 am EST

    Esha, clearly no. None of the C1 components get 'stuck' when run on our environments. All of the versions (legacy and current C1Report and C1FlexReport) run successfully and render the reports as expected, just much more slowly. I am now very concerned about whether you will be able to address this obvious performance problem if you can't even run the software. There is simply a huge performance issue with the current versions of your software vs legacy C1Report v1.1.20042.150 when using exactly the same data set. I fail to understand how the legacy version > 10 years old performs 1500% faster than the current versions despite Grapecity's claims that C1FlexReports is 2 x faster! This makes no sense. Is the software subjected to performance testing prior to release?
  • Replied 15 July 2019, 7:50 pm EST

    Hello,

    I understand. As I could observe the report taking too much time to execute, I could relate to your part of the issue i.e. FlexReport rendering being slow. Hence, I have already escalated it to the concerned team. Will let you know once there is any information.

    Regards.
  • Replied 30 July 2019, 8:45 pm EST

    Hi Esha, do you have any update on this yet please?
  • Replied 31 July 2019, 2:51 pm EST

    Hello,

    The team has approved of the issues.
    A number of issues were observed while executing the application. While some are internally fixed, the team is still working on some of them.

    Thanks,
    Esha
  • Replied 3 September 2019, 7:38 pm EST

    Hello,

    The issue is internally fixed and I am trying to provide you with an urgent hotfix by checking with the development team regarding the feasibility of the same. I will get back to you as soon as I have an update.

    Regards,
    Esha
  • Replied 3 September 2019, 9:20 pm EST

    Hi,

    I have shared a build containing the fix, over SupportOne thread (Case ID: 396709).
    https://supportone.componentone.com/casedetail/396709
    You can log in to SupportOne using your credentials from which you access forums.

    Thanks,
    Esha
  • Marked as Answer

    Replied 10 September 2019, 3:43 pm EST

    Hello,

    The latest release hotfix build contains the fix of the issue.
    You can upgrade to the same using ControlPanel or use the builds from the following link:
    http://prerelease.componentone.com/hotfixes/dotnet/C1WinForms.4_4.0.20192.382.zip

    Regards,
    Esha
Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels