[英]Performance Flowdocument with Table with a big amount of data
我嘗試做的是:
根據數據庫中的數據生成報告,然后可以查看和打印報告。 (這在WPF C#中)
我該怎么做:(通過代碼動態地)
我的窗口很簡單,它只是一個FlowDocumentPageViewer,其中沒有任何內容。
這幾乎可以很好地工作,除非記錄量達到10k。 然后由於某種原因,它會將我的CPU占用了25%的時間,耗時30分鍾。 滾動也幾乎是不可能的,沒有任何事情發生,只是完全卡住了。 但是當我得到1000條記錄時,需要18秒。 而使用2k,則需要74秒。
但是,我沒有使用表中單元格的標准方式,我必須為每個單元格創建一個TextBlock,並將其與BlockUIContainer一起使用。 但是經過一些測試,它似乎對生成文檔沒有太大影響。
有人對我應該擔心的事情有提示嗎? 這將是主要的幫助,我在這里撞牆。
我考慮過一種可能只呈現當前頁面的方式,但是我不知道FlowDocument將會有多少頁面。
我使用的數據類型只是字符串,有時是復選框(只讀)。
編輯:
處理時間似乎非常穩定,只有1秒的余量。 但是指數級的,3k已經是164秒了。
編輯2:
一些測試后,我發現的問題是,當我加入的TableCell到的TableRow。 沒有它,只需要1.6秒。
原因是分組。 在wpf下,此功能存在一個已知的性能問題。 嘗試刪除分組進行測試,您會發現性能不斷提高!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.