1
我希望我的的Java ME程序儘可能高效地運行。我的目標是進行射線投射,並想知道穿越體素的最佳方式。我聽說浮點數的轉換和比較非常耗費CPU資源。所以我想,爲什麼不給每個光線x和y添加一定的距離,截斷餘數,然後使用這些座標來檢查八叉樹的體素。基本上,有沒有更好的方式去做這樣的事情呢?java me program?,當您轉換浮點數到定點數在java中什麼happends(Java ME的具體)
截斷浮點數?
我希望我的的Java ME程序儘可能高效地運行。我的目標是進行射線投射,並想知道穿越體素的最佳方式。我聽說浮點數的轉換和比較非常耗費CPU資源。所以我想,爲什麼不給每個光線x和y添加一定的距離,截斷餘數,然後使用這些座標來檢查八叉樹的體素。基本上,有沒有更好的方式去做這樣的事情呢?java me program?,當您轉換浮點數到定點數在java中什麼happends(Java ME的具體)
截斷浮點數?
「浮點運算速度慢」是舊的智慧 - 然而,它也是過時的智慧。在現代臺式機CPU上,浮點計算速度很快,而且在定點計算上幾乎沒有什麼收穫。
重新閱讀問題標題後編輯:您描述的方法完全可行,不同之處在於您需要將每個數字相乘,而不是添加到每個數字。但是,您應該先編寫一個小型的性能測試程序,檢查您打算執行的計算類型是否真的會從您希望運行程序的硬件上的定點數學中受益。
廢話我在標題中提到它,但忘了說在這個機構中,這是一個Java我項目 – user713635
@Aasmund Eldhuset:你提到*「現代桌面CPU」*,但OP特別提到** Java ME ** 。不知何故,我不認爲現代*桌面* CPU上有許多Java ME虛擬機; )當我在移動行業工作時,通過使用定點計算仍然有很多**,但這已經過去了幾年,而且我知道事情正在快速發展。我不知道它是否仍然有用或沒有,因爲我不會在移動應用工作了:( – SyntaxT3rr0r
在他的防守我剛纔編輯的職位是我不好不Aasmunds – user713635