2013-07-09 28 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