在我的游戏中,我需要确保角度不超过2 pi。所以我使用fmod(angle,TWO_PI);
每秒大约做100次这显然很贵吗?
答案 0 :(得分:7)
每秒100次?这几乎为零,你不应该麻烦自己。
即使fmod需要100个时钟周期 - 即10,000个周期/秒。对于1个1GHz的CPU - 这是0.001%的CPU。
顺便说一下:你为什么要做TWO_PI的fmod?如果你打算使用sin()或cos() - 你可以跳过它。答案 1 :(得分:0)
如果要确保角度超过 2pi弧度,则应使用angle < TWO_PI
。使用fmod将为您提供余数,如果您想要找到实际角度并忽略多次旋转,这将非常有用,但不会提供有关哪个更大的信息。
使用<
是非常有效的,只要你不是每秒做100,000次以上或者循环中没有很多其他代码,你应该没问题。 fmod
因为它涉及分割和浮点运算而有点贵,但在大多数现代硬件上,每秒100次仍然几乎可以忽略不计,所以我怀疑你会遇到很多麻烦。如果您仍然担心,请做一些测试。如果您需要帮助来解释测试或有其他具体问题,请发布代码,我们将帮助您分析它们。 :d