Самая быстрая реализация синуса, косинуса и квадратного корня в C ++ (не нужно быть намного точным)C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Самая быстрая реализация синуса, косинуса и квадратного корня в C ++ (не нужно быть намного точным)

Сообщение Anonymous »

Я гуглю вопрос в течение прошлого часа, но есть только точки для серии Тейлора или какой -то примерный код, который либо слишком медленный, либо вообще не компилируется. Что ж, большинство ответов, которое я обнаружил на 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»