Цитата(jellfish @ 30.05.2006, 16:37)

То о чем ты говоришь это оптимизация обработки больших объемов чисел (всякие ССЕ ММиКс и тд) и я себе слабо представляю что разработчики игр спускаются на уровень этих команд для улучшения рендеринга. А вообще с этой частью программирования не сталкивался - интересно послушать.
Я спускался до SSE - пока не жаловался
Все зависит от того, где именно проводить вычисления.
Можно проводить на GPU(графическом процессоре на видеокарте)
через шейдеры. Это по определению будет намного быстрее, чем на центральном.
Но если требуются какие-то промежуточные вычисления,
например для определения столкновений на CPU,
использовать инструкции - самое оно!!!
Причем лучше, конечно, не раскидывать их по всему коду,
а скрыть в паре функций/методов.
Streaming SIMD Extensions помогают в частности быстро выполнять операции с 3д/4д
векторами(складывать, умножать на константу, скалярное произведение и т.д),
матрицами и др. мат элементами.
Причем можно использовать как чистый ассемблер(используя регистры типа xmm),
а можно использовать интеловские макросы и библиотеки, которые во многом упрощают работу
(Борланд вышел покурить, Only for MS Visual Studio)
Предусмотрено восемь 128-битных регистров(xmm0,xmm1, xmm2 ... xmm7)
(ассоциациии возникают? Совершенно верно - 4 32-битных координаты (x,y,z,w) на регистр)
Короче, SIMD позволяет ОДНОВРЕМЕННО выполнять операции
с 4-мя 32-битовыми числами.
К стандартному набору инструкций в
3-ем Пне добавили около 70-80 новых, работающих с xmm-регистрами.
Причем, SSE спокойно может работать параллельно с FPU и MMX.
SSE РЕАЛЬНО ВСЕГДА УСКОРЯЮТ РАБОТУ!!!!
Можете даже не сомневаться - это 100%. Не верите - проверьте.
Теперь про SSE2:
4 пень.
ССЕ 2 работают с числами двойной точности(64 бита)
Т.е. 128 битный регистр теперь поделен только на 2 части а не на 4,
как это было в 1-ых. Я никогда не работал со 2-ми.
Скажу лишь, что там есть около 150 команд.
ЗЫ
Математические функции, встроенные в расширения DirectX,
используют SIMD.