Сколько стоит fmod с точки зрения процессорного времени? - PullRequest
9 голосов
/ 22 мая 2011

В моей игре мне нужно убедиться, что углы не превышают 2 пи. поэтому я использую fmod(angle,TWO_PI);

Заметно ли это делать примерно 100 раз в секунду?

Ответы [ 2 ]

7 голосов
/ 22 мая 2011

100 раз в секунду?Это почти ноль, вам не стоит беспокоиться.

Даже если fmod занимает 100 тактов - это 10000 циклов / сек.Для 1 ГГц ЦП - это 0,001% ЦП.

Кстати: зачем вам делать fmod из TWO_PI?Если вы собираетесь принять sin () или cos () - вы можете пропустить это.

0 голосов
/ 22 мая 2011

Если вы хотите, чтобы углы не превышали 2pi радиан, вам следует использовать angle < TWO_PI. Использование fmod даст вам остаток, который полезен, если вы хотите найти фактический угол и игнорировать несколько оборотов, но не дает никакой информации о том, что больше.

Использование < очень эффективно, и если вы не делаете это 100 000+ раз в секунду или не задействуете много другого кода, то все должно быть в порядке. fmod немного дороже, поскольку включает в себя арифметику с делением И с плавающей запятой, но 100 раз в секунду на большинстве современных аппаратных средств по-прежнему почти ничтожно мало, поэтому я сомневаюсь, что у вас будут большие проблемы. Если вы все еще беспокоитесь, сделайте несколько тестов. Если вам нужна помощь в интерпретации тестов или у вас есть другие конкретные вопросы, опубликуйте код, и мы поможем вам проанализировать их. : D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...