Показать сообщение отдельно
Старый 19.02.2015, 02:53   #12
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: dword to float4 и обратно

Сообщение от mr.DIMAS Посмотреть сообщение
2Samodelkin тебе с таким дрочерством надо идти в эмбеддеры - писать прошивки для микропроцессоров, но это так, к слову.

С SSE лучше\удобнее работать на интринсиках, и компилятор заодно оптимизирует SSE код.

Кстати, ты так и не пользуешься оптимизацией компилятора? Ну там может -O3 -msse2 поставить и сравнить скорости велика и то что компилятор сделает?
Не всё так плохо как может показаться -- у меня ассемблер только в двух функциях на несколько страниц кода. Эти функции являются софтварным аналогом пиксельных шейдеров. Если я их сделаю быстрыми -- вся программа станет быстрой. Это вот самый боттлнек, поэтому эти две функции стоят того чтобы над ними поработать. Больше нигде ассемблера нет.

Конечно пользоваться интринсиками или писать высокоуровнево удобней. Для какого-нибудь среднеуровневого игрового кода так и надо делать. Но критические места стоят затраченных усилий -- главное правильно сопоставить профит и затраты.

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

Оптимизация обфусцирует код. Очень сложно становится отлаживать что-то на уровне ассемблера, и как было показано в презенташке по DOD, компилятор может оптимизировать только 10% кода -- остальные 90% нужно делать программисту. Пока некоторые части моего велосипеда проигрывают, некоторые лучше чем отпимизированный код компилятора, но дело обстоит так исключительно из-за моих недоработок и какого-то незнания ассемблера. Это не финальная версия и я её буду улучшать. Ещё раз повторю это буквально 10-20 страниц на всю программу (где около 10к строк). Так что это никак не задрочество.

Со шрифтами не знал, сорри, попробую подобрать другие =).
(Offline)
 
Ответить с цитированием