Войти
Вело-изобретателиФорумSR2D - софтовый 2D движок

2D движок SR2D, Софтверный движок для работы с 2D графикой на VB6, vb.net, C# (4 стр)

Страницы: 13 4 5 642 Следующая »
#45
22:46, 13 окт. 2010

Вадик
> Здравствуйте SB3D,я вас на Gamin'е видел,нравится ваше графическое исполнение.
Спасибо, приятно такое услышать. Лучше на "ты", если не возражаешь. Да, ведь это тема движка Михаила, наверное, не совсем правильно тут говорить про мои игры. =)

igo
> шо у меня тут такое, шо интелю могло не понравится? видно?... не?
Я не спец по Интелу да и не спец по асму, так что посоветовать не могу. Но самое очевидное - прогони на профилировщике, и смотри, какие инструкции тормозят.

Собрал тест со своими очень быстрыми 8-битными серыми спрайтами. Используются для дыма, например, часто, для эффектов.
http://sb-games.com/wp-content/uploads/SPDTST2.ZIP

Mikle, igo, потестируйте, пожалуйста, интересно сравнить. Должны обгнонять ваши обычные спрайты. =)

В этом же тесте и цветные круги. Правда, медленные, как выяснилось.

#46
23:14, 13 окт. 2010

на Core 2 Duo 1.2

круги 75-80 - не так уж и медленно... (шоб цифры не слишком скакали стоит накапливать замеры в массив на 10-25 эл. и выводить усредненное)
спрайты усе по 21...
шо нормально вроде... потому что спрай-то в кэш помещается заведомо - а вот размещение его по адресному пространству 32-х битной плоскости - и есть узкое место... а вот странно, что они адитивно выводятся с той же скорость что и те шо с альфой... должно быть раза в полтора быстрее...

#47
23:29, 13 окт. 2010

igo
> спрайты усе по 21
> а вот странно, что они адитивно выводятся с той же скорость что и те шо с
> альфой... должно быть раза в полтора быстрее
Чёрт! Коре два неправильный процессор, и он делает неправильный мёд. =)
В том и фишка, что 8-битные аддитивные спрайты у меня на всех машинах раза в полтора и быстрее!

Всё, я сдаюсь, у меня самый медленный движок. =)

#48
23:39, 13 окт. 2010

не... ну на коре 2 я с тобой поборюсь за пальму медленности)))... ваще, на самом деле - магия какая-то: работает лучше на той машине на которой создавалось...
потом аще на атлоне гляну твой последний тест...
а у Mikle - чет код прям ко всем процам - добр, может из-за mmx-а...

#49
9:01, 14 окт. 2010

если сортировать вывод по высоте - это + еще 25%... проверил уже...
qsort - не надо мучить... можно ваще просто несколько раз прогнать цикл вывода, разбив его например на 6 полос...

#50
9:38, 14 окт. 2010

sb3d
Потестю чуть позже, сейчас некогда.
igo
Очень может быть из-за невыравнивания по границе 16 бит. Я тестил раньше разные алгоритмы на атлонах и интелах, кое-что выяснил для себя - интел лучше считает, атлон лучше справляется с перекачкой памяти. То есть, если узкое место именно в перекачке памяти, то на интеле отстанет сильнее, а невыравнивание по границе 16 бит можно считать узким местом. Например я int32 раскладывал на ARGB двумя способами - указателями на байты, и логическими операциями со сдвигами. Первый способ быстрее работал на атлонах, второй на интелах.
У меня в алгоритме, кстати, даже если альфа равна нулю, всё равно делается полный расчёт коэффициентов, расчёт результата, помещение его в приёмник. Казалось бы, отсей точки с нулевой альфой (это одно сравнение и один условный переход) - и 20-25% расчётов не делается, а нет, становится медленнее, интелу легче сделать лишний раз 10 строк расчёта на MMX, чем предсказать одно лишнее ветвление.
P.S.
Предлагаю более конкретно описать задачу тестирования вектора и вынести её в новую тему рядом.

#51
(Правка: 10:35) 10:20, 14 окт. 2010

оказалось шо от этого зависит почти мизерно - не более 10% приросту... причем... думаю добавочный код сожрет этот прирост... для интеля... а для атлона зависимость ваще меньше 3%... протестировал это все - просто "округлив" координаты вывода спрайтов до 16 байт...
вывод - интелю тоже почти пофиг на выравнивание... наверно я с sse - перемудрил...

по вектору создам тему как agg_lite доковыряю - будет интересно... универсальная хрень...

#52
(Правка: 10:34) 10:24, 14 окт. 2010

sb3d
на Атлоне:
адитивные: 29-30
обычные: 27-28
круги: 70-80

наверно Пень четвертый и Дюрон - перестали быть показательными... у них слишком медленная подсистема памяти...

ну и шрифт у тебя)))... особенно цифры заморочены... пока я догадался в первый раз шо 7 - это 2...
хошь у меня выдери из ресурсов... - оптимальный (растровый) шрифт для своего размера, и по красоте и по читаемости...

#53
10:43, 14 окт. 2010

Mikle
>масштабирование до нужного размера с билинейной фильтрацией
Ух ты! А более 4 лет назад на мой вопрос про масштабирование было сказано:
>отсутствует, даже в планах :((( Движек позиционируется под 2D и псевдо-изометрию, где это практически не требуется

Выходит движок уже перерос даже первоначальные планы. Поздравляю :)

#54
(Правка: 19:16) 19:13, 14 окт. 2010

sb3d
на Athlon64 3800+:
Mikle - 5, 41
sb3d (новая) - 4, 38
igo - 5, 38

Alprog
Тогда в планах была версия 2.0, которая и была усуществлена и долго работала, правда "Маленькая и Скромная РПГ" тогда была уже перепортирована на DX8.
А теперь версия 3.0! Кроме отмеченных вращения и масштабирования наконец-то сделал точечный свет и коллизии.

#55
19:19, 14 окт. 2010

igo, Mikle, спасибо за тест.

#56
9:09, 15 окт. 2010

а че за цифры, шо запускал?

#57
10:20, 15 окт. 2010

igo
Запускал тест альфаналожения, у sb3d - последний, с восьмибитными спрайтами.

#58
12:37, 15 окт. 2010

Mikle
Тестировал у друга на ноутбуке. Процессор - один из центрино, точнее не знаю.
Твоя тысяча спрайтов - 78 фпс, моя тысяча с альфаблэндом - 43, восьмибитные - 35 фпс. Даже сказать нечего. =))

#59
12:43, 15 окт. 2010

центрино - фактически без кэша вроде... но шо за 78 фпс?... O_O откуда...)))... тама герцев навалом чтоль?

Страницы: 13 4 5 642 Следующая »
Вело-изобретателиФорумSR2D - софтовый 2D движок