One of my key reports has a rather wide tablix (about 60-70 columns, typically around 300 rows). As this table needs to be displayed at once, the InteractiveReportSize is set to 0 in width as well as height.
After upgrading to SSRS 2016, Chrome as well as IE seemed to hang as soon as the report was being loaded: the "loading" sign froze, and Chrome threw a warning every minute that the site froze due to a long-running script. However, after several
minutes in Chrome (up to half an hour in IE) the report showed up correctly.
The dataset returns within a few seconds, and according to the ExecutionLog finished rendering within a second:
RequestType | Format | TimeDataRetrieval | TimeProcessing | TimeRendering | Source | ByteCount | RowCount |
0 | RPL | 32 | 221 | 677 | 1 | 1704080 | 287 |
The row appeared in the execution log before the report displayed in the browser, so apparently the HTML was rendered already, but the browser just took ages to display it correctly. Rendering the same report in other formats works fine: Excel, WinForms
in SSDT and even rendering MHTML webarchive and displaying this inside IE is done within seconds. My guess is the problem lies within a JavaScript Report Manager uses which doesn't handle large reports nicely.
As soon as I set the InteractiveReportSize to something less than the entire report, everything is fine: 143 cm width, 29,7 cm height still displays in a few seconds. However, increasing the InteractiveHeight makes display times rapidly worse.
When I record a load within the Chrome developer Timeline, I can see the majority of the waiting time is spent running "ResizeTablixRows" (this particular example has a InteractiveReportsize of 60 cm height, so the display time is "only"
1.5 minute):
![Analysis of script render time.]()
I couldn't find this particular situation elsewhere on the internet, but has anyone else experienced similar performance problems with displaying large tables / matrices in SSRS 2016 in their entirety in-browser? Maybe workarounds / ideas to improve performance
without having to split the tablix into multiple pages? Or might removing conditional formatting help in order to improve the render times?
Heck, even a hack to skip / improve the served javascript would be welcome - though unsupported, it would at least make my report usable in SSRS 2016 :-).