Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Практическое применение SSE расширения. (Комментарии к статье)

Практическое применение SSE расширения. (Комментарии к статье)

robotПостоялецwww22 мар. 200418:58#0
Удалёнwww22 мар. 200418:58#1
прочёл статью - отлично написано. Для меня сейчас одно только неясно - выравнивание надо производить для физического адреса памяти или логичнского выделяемого ОС? кто есть живой просветите плз.
_WinnieПостоялецwww22 мар. 200419:06#2
Max_Fly
Относительно  16 байт (и даже 4096) адреса физичекой памяти и логичекой выравнены одниково. Не забивай голову :)
voxatuПостоялецwww22 мар. 200420:12#3
jm
Дарова, дружище!
Наконец-то ты ее дописал :-)
Молодец- мне понравилось! Нам сейчас, как раз, читают нечто похожее на базе.

Очередной раз убедился в том, что не зря называю тебя "фанатом матриц", за что, тут же, сам был назван "человеком-пароходом" ;-)
Себя я тоже считаю виноватым- давно к тебе в IRC не ломился. Постараюсь исправиться :)
Лане привет.

Да простят меня модераторы за офф-топ %)

watВедущийwww22 мар. 200420:29#4
voxatu
хаха :) пять баллов :).. Ну и с Добрым утром.
Удалёнwww23 мар. 200410:13#5
_Winnie
согласен - тут я наверное перемудрил. Просто от QNX-а мозги заворачиваются. :). Кстати если перемножать так как на интеле (и в этой статье показательно показано) это получается здорово. А вот при попытке перемножить две матрицы размером этак 1000х500 - фигня выходит. получается тот самый пример - как делать не надо ;-). Кто знает хороший способ транспонирования матриц - не сочтите за наглость - ткните носом.
Удалёнwww26 июля 200511:23#6
Классная статья, но.... Вот что у меня получается при попытке компилировать в Release:
pure dp : 0.000002 result: 10.000000
fpu  dp : 0.000002 result: 10.000000
sse  dp : 0.000003 result: 10.000000
pure cp : 0.000002 result: (-4.000000 8.000000 -4.000000 0.000000)
fpu  cp : 0.000002 result: (-4.000000 8.000000 -4.000000 0.000000)
sse  cp : 0.000003 result: (-4.000000 8.000000 -4.000000 0.000000)
sse  mmm: 0.000009 result:
[0.000000 1.000000 2.000000 3.000000]
[4.000000 5.000000 6.000000 7.000000]
[8.000000 9.000000 10.000000 11.000000]
[12.000000 13.000000 14.000000 15.000000]
sseb mmm: 0.000019 result:
[0.000000 1.000000 2.000000 3.000000]
[4.000000 5.000000 6.000000 7.000000]
[8.000000 9.000000 10.000000 11.000000]
[12.000000 13.000000 14.000000 15.000000]
ssei mmm: 0.000009 result:
[0.000000 1.000000 2.000000 3.000000]
[4.000000 5.000000 6.000000 7.000000]
[8.000000 9.000000 10.000000 11.000000]
[12.000000 13.000000 14.000000 15.000000]
pure mmm: 0.000009 result:
[0.000000 1.000000 2.000000 3.000000]
[4.000000 5.000000 6.000000 7.000000]
[8.000000 9.000000 10.000000 11.000000]
[12.000000 13.000000 14.000000 15.000000]

Я чуть не заплакал, увидев это :-(( проц Athlon Barthon 2500+ , 512 Mb

CyberZXПостоялецwww26 июля 200513:50#7
Freezy
от счастья?
Удалёнwww26 июля 200514:31#8
Какое тут счастье? Разве не видно, что Pure C обделывает реализацию на ASM :'(((
TruthfinderПостоялецwww8 сен. 201015:26#9
Насколько понимаю в статье ошибка. Причём это видно по картинке.
shufps  xmm0,xmm0,00011011b не переворачивает, а сохраняет порядок.
Переворачивает как раз shufps  xmm0, xmm0, 11100100b

/ Форум / Программирование игр / Общее

Тема в архиве.

2001—2018 © GameDev.ru — Разработка игр