卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

WPF平臺Grid控件性能比較及測試結(jié)果

環(huán)境 本次測試的基準創(chuàng)建于2016年6月,使用了以下Grid控件: 下的DataGrid (PresentationFramework.dll的一部分) C1FlexGrid 4.4

環(huán)境

本次測試的基準創(chuàng)建于2016年6月,使用了以下Grid控件:

  • 下的DataGrid (PresentationFramework.dll的一部分)
  • C1FlexGrid 4.4.0.20162.514 (ComponentOne WPF版)
  • C1DataGrid 4.4.0.20162.514 (ComponentOne WPF版)
  • XamDataGrid v16.1.16.1.20161.1000 (WPF Controls - Infragistics)
  • GridControl v15.2.15.2.10.0 (WPF Controls | DevExpress)
  • SfDataGrid 14.1400.0.41 (Syncfusion Essential Studio WPF版)
  • RadGridView 2016.2.503.40 (Telerik WPF Controls | UI WPF版)
  • DataGridControl v5.9.5.9.16204.15420 (Xceed DataGrid for WPF)

測試運行在ENVY-23 All-in-One Desktop環(huán)境中,配置如下:

  • Intel i7 quad-core CPU @ 3.10 GHz
  • 8 GB RAM
  • NVIDIA GeForce GT 630M display adapter, Full HD (1920 x 1080) resolution
  • Windows 10 Pro 64-bit OS

測試應(yīng)用

基準應(yīng)用程序允許選擇和運行單獨的測試,或按順序運行所有測試。您可以選擇每個測試運行的次數(shù),以得到平均結(jié)果。為了減少其他因素的影響(如操作系統(tǒng)和其他應(yīng)用程序的交互),所有結(jié)果都運行了10次。

基準測試步驟

每個基準測試按以下步驟進行:

  1. 移除上一次測試創(chuàng)建的所有UI,并調(diào)用和GC.WaitForPendingFinalizers方法,確保垃圾回收不會影響下次測試;
  2. 初始化下次測試和Stopwatch計時器;
  3. 按需要的次數(shù)執(zhí)行測試;
  4. 測量總時間并計算平均結(jié)果;
  5. 記錄結(jié)果。

基準1:創(chuàng)建控件并加載數(shù)據(jù)

該基準創(chuàng)建一個用戶控件,包含一個用于測試的Grid,將其插入到可視化樹中并填充數(shù)據(jù)。

基準2:重新加載數(shù)據(jù)到已存在的控件

該基準將DataGrid的ItemsSource設(shè)置為null,清空數(shù)據(jù)和自動生成的列,然后將ItemsSource設(shè)置為一個新的ListCollectionView。

基準3:排列單列

該基準通過IcollectionView接口實現(xiàn)排序,大多數(shù)情況下通過這種方式進行排列。但是Syncfusion的SfDataGrid沒有內(nèi)置支持,需要通過屬性來實現(xiàn)排序。對于Infragistics的XamDataGrid,我們使用屬性來實現(xiàn)排序。

基準4和5:滾動100行和整個表格

這兩個基準模擬最終用戶的交互,分別滾動100行和整個表格。每個Grid都有ScrollIntoView或類似方法來解決這個問題。

測試結(jié)果

在比較整個基準過程中,我們得出以下結(jié)論:

  • 初始化加載時間:不論數(shù)據(jù)規(guī)模,所有的控件幾乎都有相似的啟動時間。
  • 固定寬度基準:對于包含1,000、10,000和100,000條數(shù)據(jù)的數(shù)據(jù)源,測試結(jié)果非常相似。
  • 自動列寬基準:在運行固定
標簽: