2013-07-09 51 views
0

是的,我意識到小數或浮點數已被問及之前,我知道他們的用途和小數點是精確的,浮點數是不準確的。對於RPG,縮放整數與小數?

在我正在開發的遊戲中,我有玩家,其運動速度爲每秒36像素移動。我每秒更新約10次,每次更新3.6次。我希望這是精確的,但十進制佔用16個字節(128位),這是很多。如果我想保持精確度,我應該用整數來代替數字嗎?或者..浮球更適合? Float和Int32都佔用4個字節,但整數不會丟失任何數字。那麼不應該讓Integer更合適?那麼爲什麼有人會使用浮動?

所以基本上,我應該使用哪一個速度和準確性?我現在使用小數。我想在遊戲中涉及太多細節之前對其進行更改,否則將難以進行所有這些更改。

+2

我從來沒有真正以爲128位是很多,但我想我是一個很大的花費數據。 – austin

+2

用科學回答你的問題。你每100毫秒更新一次。處理器週期可以說是一納秒。這樣就可以讓你在1億個週期內完成你的計算。測量執行計算所需的週期數,然後您就會知道您是否超出預算或預算不足。我們這裏沒有人可以爲你做這個分析。 –

回答

1

與其他類型相比,16字節是很多。去滿足你的要求,沒有過早的優化。

你也可以考慮使用int並將它解釋爲x/10,這樣不準確性就不會累積。但是,只有當這128位真的有問題時(他們不應該,恕我直言)。

+0

這就是我正在考慮的事情。使用這樣的整數有什麼缺點嗎?我不確定,但由於十進制佔用比整數更多的字節,我認爲它比較慢。如果你知道,哪一個更慢? – Dave

+0

我不這麼認爲。如果使用int而不是float,結果肯定會更好,因爲int不會像float類型那樣依賴內部的指數表示。所以,基本上,這是一個可行的選擇。 –

+0

是的,我會去整數。謝謝 – Dave