Mikle
Производительность то в итоге будет не меньше?
Я понял что если просто си использовать вместо асм, то меньше будет.
eDmk
> Я наоборот от MMX отказался, хотя он и немного шустрее чем XMM.
А зачем тогда отказался?
SilentPrayerCG
> Производительность то в итоге будет не меньше?
Прикладываю к этому все усилия, иначе было бы уже готово.
SilentPrayerCG
> если просто си использовать вместо асм, то меньше будет.
Да, но интринсики спасают.
Mikle
> А зачем тогда отказался?
MMX быстрее на пиксельных операциях, а XMM быстрее на групповых операциях.
MMX - 1/2 пикселя, а XMM 2/4 пикселя.
MMX работает на полной частоте процессора, а XMM на сниженной.
В целом на групповых операциях XMM все же выигрывает по производительности.
Вот например блендинг MMX быстрее блендинга на XMM:
А вот блендинг XMM по 4 пиксела почти в 3 раза быстрее MMX.
eDmk
> А вот блендинг XMM по 4 пиксела почти в 3 раза быстрее MMX.
Это на выровненной на границу 16 байт памяти? У меня нет такой возможности.
Mikle
> Это на выровненной на границу 16 байт памяти?
Да. На самом деле выравнивание дает прирость 5-10% всего, но и это хорошо.
Mikle
> У меня нет такой возможности.
Я тоже на бейсике писал. Еще под DOS (QBasic 4.5). Там можно было объявить массив, загнать в него опкоды ассемблерных команд и выполнить вызов массива как процедуры или функции. Думаю в вашем бейсике тоже есть такая возможность. Опкоды можно из лазаруса взять или бесплатной Delphi.
eDmk
> Я тоже на бейсике писал.
Дело не в бейсике, он как раз не мешает это сделать. У меня движок может накладывать один спрайт на другой с произвольным сдвигом, а может в этом участвовать ещё третий спрайт-маска, это никак не выровняешь в памяти.
Mikle
Как прогресс? Что-то стихло всё.
Да, медленно идёт, но не забыто.
Вот дума, может от функций с масками отказаться? Всё равно ими никто кроме меня не пользовался.
Mikle
у меня тупой вопрос - а что они делали?
потому, что по-моему мне тоже не приходилось ими пользоваться
У них было два спрайта-источника. Первый обычный, а второй задавал трафарет, но это не AlphaTest, функциональность гораздо шире, там в одном спрайте 32 трафарета, можно выбирать, какую из битовых плоскостей использовать в качестве трафарета, можно выбирать одновременно несколько плоскостей, можно инвертировать.
И это оказалось слишком сложно реализовать под х64?
SilentPrayerCG
> И это оказалось слишком сложно реализовать под х64?
Нет, я о востребованности сейчас.
насчёт востребованности масок - без них символы текста сложно хранить и применять
да и просто простые как бы чёрно-белые а точнее двухцветные (цвет трафарета указывается при прорисовке) изображения - например в электросхемах
Тема в архиве.