Solved

Devexpress report perfomance in Windows GUI


Userlevel 4
Badge +13

Reports developed in Devexpress tend to run rather slow in the Windows GUI. Even when Devexpress itself generates a report within a second it can still take over 10 seconds for the GUI to do the same thing with the same report parameters. I’ve seen this happen in several occasions. Now it’s an issue because for a new module for our warehouse printing a specific report is rather time critical. A delayed print tends to interrupt the workflow too much.

The desired behavior would be to have a printout of a report within a couple seconds instead of the current 10-15 seconds. A workaround for now is to make it possible to set the print command in motion earlier in the process but that is not a solution in all situations. It also makes the chances of human error a bit larger.

Is there a way to find out why reports perform slow in the Windows GUI?

icon

Best answer by Mark Jongeling 27 September 2022, 11:18

View original

13 replies

Userlevel 6
Badge +16

Are you certain the performance problem is not database related? Did you monitor the query performance (I assume you get the data from a view?). 

Userlevel 4
Badge +13

Both Devexpress and the windows gui run the same report with the same parameters and they retrieve their data from the same database. It's just that devexpress does it a lot faster than the Windows GUI. It's a matter of 1 second versus more than 10 seconds.

The report is using views wherever possible. Although I haven't noticed performance gains from using views in the past we prefer them for maintenance purposes.

Userlevel 6
Badge +16

What version of the GUi are you using? 

Userlevel 4
Badge +13

We're on 2022.1. We upgraded about a month ago.

Userlevel 4
Badge +13

Just a little bit of extra information to illustrate what we see happening. After clicking the table report icon an empty pdf file is created immediately in the documents folder in Windows. It then takes approximately 11 seconds for the file to jump from 0 to 98 kB.

When we run the same report with the same parameters in devexpress the result appears almost instantly. Of course this is without saving the output to pdf but that only takes a couple seconds extra.

The end-results are the same.

Userlevel 6
Badge +16

If you create a static dev express report without any data connection does it then still take 15 seconds? 

Userlevel 4
Badge +13

Roland,

How fast does the report load when you open it as a print view in the Windows UI? If that opens fast, it is probably related to the generating of the output into a PDF. If this is also slow, that means that most likely the performance is lost in building the report output.

I know that printing reports via DevExpress reports via the Windows UI should be fast. I use a DevExpress report to print pallet labels. However I do use the Thinkwise Reporting Service to generate print/generate the file and not the UI itself to do so.

Userlevel 4
Badge +13

We just tried both suggestions. When running a static version of the report using the same parameters but without a database connection and any queries it takes about 6 seconds for the pdf file to be fully generated. Print preview takes about 5 seconds so I’d say the delay is somewhere in the reporting service.

Userlevel 6
Badge +16

Are you running the GUI on the same server as the export location? If not try running it there to rule out any network performance issues. 

Also the first time can take a bit longer to load some libraries. If you run the same report twice does it take the same amount of time? 

Userlevel 4
Badge +13

The pdf is stored in the local documents folder inside the user profile. I think this is always the case for report actions in a process flow. In some circumstances we have to move it from there to the desired location. However in this particular case the file isn’t moved and printed as is.

We’ve done quite a lot of test runs but it remains rather slow every time. We do see some variation from day to day but it still takes at least 6-7 seconds for the pdf file to be ready for the print command.

We also ran the same report as a table report (pdf and print preview) to rule out any effects from the process flow but that takes about just a long.

Userlevel 6
Badge +16

Could you try adding a component to the reportviewer config of the gui? In the windows gui folder there is a Components\Reporting\DevExpress folder with a Thinkwise.DevExpress.ReportViewer.exe.config file. In this file add the following to the configuration container: 

  <runtime>
    <generatePublisherEvidence enabled="false"/>
  </runtime>

Userlevel 4
Badge +13

The file contents of “Thinkwise.DevExpress.ReportViewer.exe.config” are now as follows:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
</startup>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>

Unfortunately the process of creating a pdf file still takes about 7 seconds. I ran the report several times.

The startup section already existed and I left it in place of course.

Userlevel 7
Badge +23

Hi Roland,

Did you manage to solve the slow performance? If not, it may be more suited to create a ticket for this in TCP, thanks!

Reply