Модуль на асме, использующий для вычисления синуса и косинуса команду FPU fsincos. В результате вычисляется все в два раза быстрее. Т.е. если у нас в кадре просчитываются повороты для всех объектов, то только использование этой функции даст прирост производительности в два раза.
Установка: Копируем папку "oxi.mod" в папку Blitzmax "mod".
Примечание: Я сделал все на типе Float, поскольку именно он используется в структуре вертексов Direct3D.
Тест производительности: В примерах есть тестик, основанный на другом моем модуле RDTSC. Для чистоты эксперимента я даже сделал типы для вызовов стандартных Sin и Cos как Double, чтобы избежать лишних преобразований. В среднем раздельное вычисление синуса и косинуса занимает 330+ тактов, тогда как совместное 150+ тактов. Еще в этом тестике удобный класс для замера производительности TTickMeter. Несколько вызовов надо потому, что из-за интеллектуальности последних процессоров оптимальная скорость получается после нескольких вызовов.