假設您有一個繪製複雜流程圖的應用程序(在我的例子中是一個.NET應用程序)。用戶需要以可接受的和一致的幀率導航流程圖,比方說10 FPS。這意味着如果流程圖非常龐大,您將無法在不阻止用戶界面的情況下繪製所有內容。流體2D形狀平移/滾動
此外,形狀複雜變化很大,你想畫的許多形狀,儘可能給用戶的印象無非是在動態運動失蹤。
我測試的第一種方法是計算需要多少時間繪製單個框架(保持10 FPS),並在達到該閾值後停止繪製,顯然會跳出屏幕。
結果很不好。如果沒有任何關於首先繪製什麼的邏輯,繪圖可能會卡住一些複雜的形狀,並跳過大部分簡單的形狀(給用戶造成他/她丟失圖表的印象)。此外,估計的幀率可能會有相當大的變化,因此繪製的圖形數量也會有所不同。
你知道一個更好的方法可循?你知道關於這個主題的任何文章嗎?
謝謝。
做一個第一件事情是一個邊界框關聯到每一個項目,並用它做決定,如果它的任何部分都將在窗口中可見。在第二步中,您可以在嵌套框的樹中組織框,這將允許快速拒絕組的項目。請參閱https://en.wikipedia.org/wiki/R-tree –