Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Ассемблерные вставки в GCC (комментарии) (2 стр)

Ассемблерные вставки в GCC (комментарии) (2 стр)

Поделиться
Страницы: 1 2
DelfigamerПостоялецwww10 мая 201621:08#15
0r@ngE
Кто такие "все"? Перечисли их по именам.
Dmitry_MilkПостоялецwww11 мая 20168:04#16
0r@ngE
> Уже давно все юзают интринсики.

В GCC помимо явных интринсиков есть еще и обобщенное представление - векторные операции:
https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html

Конечно нет всех возможностей, что можно поиметь от явного указания интринсиков, зато в тех случаях, когда можно обойтись неявно, будет независимый от проца исходник.

FordPerfectПостоялецwww13 мая 201621:23#17
DelfigamerПостоялецwww13 мая 201622:13#18
FordPerfect
> Ещё забавно:
> https://gist.github.com/rygorous/2af6cd9a3f403842a250
И что это?
FordPerfectПостоялецwww13 мая 201622:50#19
Delfigamer
А я хз, кстати, насчёт контекста.

Т. е. я не в курсе что они (это RAD Game Tools, насколько я понимаю) используют в качестве компилятора и что у них за настройки. Вроде же он где-то в твиттере упоминал, что там древняя версия GCC и поотключено куча опций, по Объективным Причинам.

Middleware, всё такое.

FordPerfectПостоялецwww13 мая 201623:34#20
lookidПостоялецwww20 мая 20160:39#21
Круто, да, фундаментально. А можно накидать бенчмарт какого-нибудь рейтрейсинга или пересечения конвексхалов в сравнении с разными -O3, просто кодом из вики и simd/avx/intrinsics ? А то получается что-то типа "Эй, ребят, у нас тут asm! Круто! Он быстрее -O3. Я читал!"
=A=L=X=Постоялецwww20 мая 20164:49#22
lookid
> А то получается что-то типа "Эй, ребят, у нас тут asm! Круто! Он быстрее -O3. Я
> читал!"

asm может быть круче -O3, но про то, что, где и когда надо почитать.
А вот вы, как раз, выдаёте невежество, пытаясь результатами одного конкретного теста подменить фактологическую базу оснований.

122Постоялецwww20 мая 201610:01#23
Один вопрос: в каких крупных движках\играх юзаются ассемблерные вставки? Юнька? Анриал? Айдитехи последние? Крайэнжин? Что там еще?
lookidПостоялецwww20 мая 201611:11#24
=A=L=X=
Ну сори, я просто пытался пошутить.

122
Либо в либах, миддлваре и хавках-физиксах, там где важны миллисекунды. Либо для решения специфичных задач. Например: http://www.gamedev.ru/pages/dwj/articles/c-buffer
Еще можно так:
https://github.com/kespindler/cryengine/search?utf8=%E2%9C%93&q=asm
https://github.com/GarageGames/Torque3D/search?utf8=%E2%9C%93&q=asm
https://github.com/id-Software/DOOM-3-BFG/search?utf8=%E2%9C%93&q=asm
https://github.com/sinisterrook/unrealengine/search?utf8=%E2%9C%93&q=asm

Если резюмировать, то: математика, физика, вычислительная геометрия, линал, atof/ftoa/atoi/itoa/ftoi/itof, mutex/spinlock/lockfree, хардкорно оптимизировать потоки.
Вообще 90% времени игры работает где-то 10% кода. Вот в этих 10% таим-критикал кода может встречаться. В оставшихся 90% и не требуется.

innuendoПостоялецwww20 мая 201611:45#25
lookid
> Вообще 90% времени игры работает где-то 10% кода. Вот в этих 10% таим-критикал
> кода может встречаться. В оставшихся 90% и не требуется.

Классическое правило 80/20 :)
А так да, полностью согласен

Страницы: 1 2

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

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

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