我需要在QImage
上繪製動態覆蓋。疊加層的組成部分用XML定義,並解析爲一個QHash<QString, QPicture>
,其中QString是名稱(例如「十字線」),而QPicture
是獨立於分辨率的繪圖。然後,我會在運行時確定的位置繪製覆蓋圖的組件。使用QStrings作爲鍵的QHash查找的速度
例如:我的QHash中有10張圖片,構成HUD中的每個可能元素。在特定的視頻幀中,我需要在圖像上的不同位置繪製6個視頻。在接下來的畫面中,有些東西已經改變了,現在我只需要畫出其中的4個,但其中2個已經改變了。
現在我的問題:如果我想盡快做到這一點,我應該重新定義我的QHash爲QHash<int, QPicture>
並枚舉鍵來抵消由字符串比較造成的開銷;還是比較不會對性能產生很大影響?由於XML解析器和疊加作曲器是完全獨立的類,我可以輕鬆地轉換爲整型鍵;但我希望在整個應用程序中使用一致的數據結構。
爲了提高性能,我是否應該克服對一致性和可重用性的渴望?如果我做的事情會非常重要嗎?
謝謝sbk。 #1是我整個設計理念的兩個短句。我傾向於這個方向,但需要一點點推動。此外,我與很多人一起工作,他們是「所有字符串比較都是邪惡的!「學校的思想和我覺得我應該得到一個外部的意見。 是的,我的主要具體要求是保持30幀/秒。:) – 2010-04-26 14:31:01
+1表明基準應優先優先 – 2010-04-27 09:29:30