Android使用RectF結構繪製位圖。我正在研究我的遊戲結構,因此,例如,Sprite將具有x/y座標,寬度,高度,速度等。這意味着每次在我的渲染循環中,我必須在找出源/目標RectF的時候將這些整數轉換爲浮點數......或者,我可以更具普遍性並隨處使用浮點數,以便當需要模擬物理和渲染,所有的類型已經是相同的類型...即使對於什麼屬性是不必要的(我不需要一個浮點「x位置」,但將不得不在渲染時拋出if不)。對於Android,我應該更頻繁地爲我的遊戲使用float數據類型,還是僅在繪圖時強制浮動?
如果漂浮物通常是2-10倍的更不方便(每http://developer.android.com/guide/practices/performance.html),那麼正確的方向是什麼?
TLDL:我應該投出int來渲染渲染,還是讓所有的參數變量都是浮點數,即使浮點數效率低下?類型轉換效率如何?
我預計了一段時間來分析你的近期.... :) 對於所有這一切來說,值得一提的是,浮點數的計算速度很慢,所以不斷的投射也許......分析表明它更好你要堅持漂浮,而不是不斷地改變它們。 – Shark
這裏唯一正確的答案是:嘗試兩者和基準。這取決於計算還是鑄造占主導地位。 (或者,如果兩者中的任何一個確實是一個問題。) – millimoose
在很多情況下,即使不是大多數情況下,您也無法避免浮點算術。另請注意,您提供的鏈接指出,在沒有FPU的設備上,浮點運算速度可能會降低2倍。作爲兩種不同設備之間的比較,提到10倍速差。 – harism