Небольшие ускорения вычислений
Автор: Vladimir Stroyev
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