我想虛擬多段線。在我的應用程序中,最多顯示七條多段線,每條多段線擁有多達九百萬點(當然,只有一小部分應該可見)。每條折線都有一個對PointCollection的綁定。所有的多段線都在ScrollViewer控件中,滾動效果是每一個。
現在,我想知道如何虛擬化折線是可能的。我從微軟的Chris Lovett那裏找到一篇關於Virtual Canvas的文章,但我不確定它是否適用於我的問題。有沒有人有過類似的經歷?
在此先感謝。使用多義線的UI虛擬化
0
A
回答
0
我遇到了類似的情況,並決定實施虛擬化,如下所示: 我正在處理的數據(多段線的點)處於實際座標中,並且比顯示屏上顯示的要詳細得多。用戶還應該能夠放大並查看更多細節。
- 確定世界座標中顯示器上兩個(或三個)像素之間的距離。這使我可以決定是否可以移除折線的一個點,因爲它最終會在與相鄰點相同的像素位置。
循環點:
a。如果當前點與前一點位於顯示屏上的相同位置:跳過它。
b。如果當前點和前兩個點位於一條直線上,則不需要前一個點:移除前一個點,添加當前點(並添加下一個點(D)以防止將緩慢彎曲曲線舍入爲一條直線)。
使用收集的點來繪製折線
取決於幫我減少原設定回約30%,但是這是完全依賴於數據的數據。無擔保那裏;)
當用戶放大時,我只是重新計算從步驟1開始
我加了很多參數的算法,所以我可以調整和優化它發現性能之間的甜蜜點和圖像質量。例如,我添加了一個epsilon,它允許我指定通過A和C的線和B點之間的距離仍然允許B點在線上。
讓我知道這是否有幫助。
相關問題
- 1. DataGrid UI虛擬化
- 2. Silverlight:禁用UI虛擬化?
- 3. Telerik的radTreeListView UI虛擬化
- 4. Popup中的UI虛擬化
- 5. Silverlight 3 Combobox UI虛擬化
- 6. Silverlight MediaElement和UI虛擬化
- 7. 使aurelia-ui虛擬化與表
- 8. 在WPFToolkit Accordion上啓用UI虛擬化
- 9. WPF線路虛擬化
- 10. 使用UWP windows mobile禁用Xamarin Forms上的UI虛擬化10
- 11. 測試使用虛擬化
- 12. 如何使用UI虛擬化與重新定義的列表框模板
- 13. Datagrid性能非常低,即使使用UI虛擬化
- 14. 獲取UI虛擬化在Silverlight
- 15. Aurelia UI虛擬化 - 重新綁定
- 16. WPF TreeView和虛擬化(UI和數據)
- 17. WP7 Listbox UI虛擬化如何工作
- 18. 使用虛擬單核虛擬化guest虛擬機上的所有cpu核心
- 19. 如何使用Kendo-ui網格虛擬化遠程數據?
- 20. 使用多線程PowerCLI並行克隆多個虛擬機
- 21. 使用Catel與現代UI創建多個虛擬機
- 22. 使用虛擬化的系統聚合
- 23. Windows Phone風格使ListBox的虛擬化禁用。如何恢復虛擬化?
- 24. TreeView虛擬化
- 25. 虛擬化WrapPanel
- 26. 虛擬化treelistview?
- 27. WPF中的多級虛擬化
- 28. 如果我增加了很多在StackPanel的控制中,UI虛擬化應用?
- 29. KVM虛擬化10gbe虛擬以太網
- 30. WPF自定義佈局/虛擬化
我明白了你的觀點,但恐怕它不適合我的情況,因爲折線不應該可視化對象/圖像。它可以將ECG數據等醫療數據可視化。因此,假設有來自24小時ECG心電圖的數據,我已經減少了數據集。你看,我不需要簡單地在水平/時間方向上垂直滾動。 我認爲最好的方法是將整個數據集的一個子集加載到PointCollection中並按需加載更多的數據。然而,問題是模擬數據將完全存在,即可能發生... – 2011-03-31 07:46:58
啊,是的,你是正確的我的解決方案不會幫助你。在你的情況下,我可能會創建一組固定的點並在滾動時操作它們。這樣你只會改變座標,但不會添加到集合或從集合中刪除,這是一個巨大的節省時間。 – 2011-03-31 08:48:32