Войти
Подсказки

Небольшие ускорения вычислений

Автор:

1. в VS6 есть такая функция fabs. Так вот эта функция она для double и если использовать ее для float можно получить избыток преобразований и большие тормоза в маленьких функциях (например в collision detection). Лучше использовать fabsf. По моим давним тестам функция сравнения пересечения луча с ббоксом ускорялась вдвое. (в VS7 эта бага помоему пофиксена)

2. У меня часто встречалась такая штука:

int value = ...;
if (value < 0 || value > test) ...;

а сейчас:

int value = ...;
if ((uint)value > (uint)test) ...;

либо сразу: uint value;

3. опытным путем удалось выяснить, что скорость проверки пересечения двух сфер (методом поиска квадратом растояния) в разы быстрее проверки пересечения двух ббоксов. Кроме того если нет масшабирования при любых перемещениях объекта нужно менять только позицию сферы, это гораздо быстрее пересчета ббокса.

16 января 2004