我想優化一個OpenGL應用程序,並且一個熱點是 正在處理昂貴的處理(上傳到顯卡) 相對較小的數組(8-64值),其中有時 值會改變,但大部分時間保持不變。所以大多數 有效的解決方案是隻有當 它已經改變時才上傳數組。有效檢查在C++中花車陣列中的值變化
當然 只要數據發生變化,但是這將需要大量的代碼 變化,並進行快速測試,我想知道 可能的性能提升,之前的工作太多了具有最簡單的方法是設置標誌到 就完成了。
所以我想到了一個快速檢查(如雜音哈希等) 在內存中,如果數據已經改變幀和 在此檢查後決定uploding。所以問題是,如何 我可以例如。 XOR一個值的數組,如
float vptr [] = {box.x1,box.y1,box.x1,box.y2,box.x2,box.y2,box.x2,box.y1};
一起檢測可靠的值變化?
最佳&感謝, 海納
這正是爲什麼**封裝**很重要的原因:如果值已存儲在類型提供訪問器設置值的對象中,添加標誌只需要在一個位置進行更改。 –
@PeteBecker一般來說是真的。但是,與此同時,圖形代碼通常對性能至關重要,因此通常不得不犧牲速度。可能是這裏的情況。 – Angew
@PeteBecker感謝您回答*而不讀*。問題不在於C++或面向對象的設計。這個問題在很多其他情況下都是有效的:如何快速散列一些浮點數? –