Я гуглю вопрос в течение прошлого часа, но есть только точки для серии Тейлора или какой -то примерный код, который либо слишком медленный, либо вообще не компилируется. Что ж, большинство ответов, которое я обнаружил на Google «Google It, его уже спрашивают», но, к сожалению, это не < /em> ... < /p>
Я профиляю свою игру на низкопроцентный Pentium 4 и обнаружил, что ~ 85% времени исполнения тратится на расчет синуса, Cosinus и Square Croot (на стандартной библиотеке, в этом, и в этом, и в составной библиотеке. I7 Те же функции получили только 5% времени выполнения, и игра waaaaaaaaaay быстрее). Я не могу оптимизировать эти три функции и не рассчитывать как синусои, так и косинус в одном проходе (там взаимозависимый), но мне не нужны слишком точные результаты для моего моделирования, поэтому я могу жить с более быстрым приближением. /> edit < /strong>
таблица поиска более болезненна, так как полученная кеш -мисс гораздо дороже на современном процессоре, чем серия Тейлора. ЦП просто настолько быстры в наши дни, а кэш не является. /> edit2
Я использую квадратный корень для расчета расстояния, а не нормализации - не могу использовать быстрый алгоритм обратного квадратного корня (как указано в комментарии: http://en.wikipedia.org/wiki/fast_square_root>
edit3 < /strong> < /p>
Я также не могу работать на квадратных расстояниях, мне нужно точное расстояние для расчетов < /p>
Подробнее здесь: https://stackoverflow.com/questions/186 ... -need-to-b
Самая быстрая реализация синуса, косинуса и квадратного корня в C ++ (не нужно быть намного точным) ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение