2

的ReportViewer版本:14SSRS的ReportViewer慢渲染報告與HTML5渲染

我有一個顯示我的球隊的分組,像這樣的所有報告報告數據視圖:

ReportGroup1 
    Report1 
    Report2 
    Report3 

ReportGroup2 
    Report4 
    Report5 
    Report6 
... 

當我運行此報告在瀏覽器(Chrome 60)中,速度非常慢,需要花費5分鐘以上才能運行。該報告中返回了近1000行,其中包括每個報告名稱旁邊的幾個圖標以及新窗口中每個報告的鏈接。儘管瀏覽器速度很慢,但SQL查詢是即時的,並且報表也可以使用Visual Studio中的預覽功能快速呈現。

我使用開發人員工具監視了性能,看起來新的HTML5添加引發了一個瓶頸,特別是Html5Renderer.js中的Resize100HeightElements()Resize100WidthElements()函數。如果我的理解是正確的,它會根據父母的高度動態調整每一行的大小,這對於大約1000個對象來說需要相當長的時間。

一種解決方法是在InteractiveSize設定爲小尺寸(例如8.5 in),這限制給定頁上返回的行號(我們不得不將其設置爲0,打印在一頁上的結果)。不過,我們不希望將其分解成頁面。

有誰知道加速長頁面的方法或提高HTML5渲染器性能的方法嗎?在不久的將來,升級到SSRS 2016是值得的。提前致謝。

編輯:即使報表中的圖像大小屬性設置爲「剪輯」而非「適合比例」,報表不包含任何圖像時性能得到顯着改善。我們如何保持圖像不受HTML5渲染器的影響?

+2

很好的研究到這個問題。你能看到圖標添加到所有東西的開銷嗎?單個頁面上的幾千個圖標會嚴重降低加載時​​間,也會從我的經驗中獲益。圖標是否已經過優化和縮放? – Daniel

+0

圖標很小,似乎很好地縮放,請求中返回的圖標<10個。根據總結,上述兩個函數調用佔用了執行時間的99.4%,但很難確定這是由縮放圖標引起的。我試圖部署沒有圖標的報告,它*方式*更快。我再次運行了DevTools性能監視器,並確認性能得到顯着改善。感謝您的建議! – McGlothlin

+0

SSRS中的圖標在我的經驗中一直是一個麻煩的領域。在質量或性能方面,縮放比例很少。 – Daniel

回答

1

我找到了滿足我們需求的解決方案。

圖像屬性影像尺寸設定原始大小是我發現呈現較大的頁面時不會造成顯著放緩的唯一選擇。我必須這樣做,所有可見圖像;圖像大小對隱藏圖像沒有影響。當我使用Chrome開發人員工具重新評估性能時,可以看到渲染時間和腳本執行時間顯着縮短。該報告現在運行在< 5秒鐘之內,距離它近5分鐘。

我懷疑圖像大小以前設置爲剪輯,因爲根據this頁面,SSRS不像任何文本框中的文本那樣爲單元格中的圖像提供任何排列選項。我可以通過在包含圖像的每個單元格中插入一個矩形,然後將每個圖像移動到其單元格中的矩形內部來解決此問題。然後我分別調整填充屬性,直到每個圖像居中。