![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#71 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Ulex, галочку "BitBlt" пробовал отключать?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#72 | |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
![]() Цитата:
Как то ничего сильно не поменялось (к реальному интервалу таймера в 62 мс дало минус 5-10 мс). Почему то не очень сильно влияет. Я этот результат даже не зафиксировал.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
|
![]() |
![]() |
![]() |
#73 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Понятно, ...у меня при 2500 персонажах с BitBlt и без него разница по загрузке CPU в 2 раза.
Что-то молчит Tronix, ...я уж как смог, так и собрал этот тест, ...хотелось бы по-экономичнее. По сути, это цикл берущий по 8 байт, только внутри цикла две одинаковые секции по 4 байта, ну, вот так только смог. Дело в чем? ...регистр может брать 8 байт, но процессору куда-то нужно девать результат перемножения двух регистров по 8 байт, ...это ведь уже 16 байт, ...вот проц и записывает первые результаты 4-х байт в весь регистр, остальные теряются, получаются черные полосы, т.е. необработанные данные, когда я пытаюсь работать с 8-ю байтами сразу. В SSE понятное дело, проходит по случаю регистра в 16 байт, ...но если я буду в таком режиме брать по 16 байт за такт, то получу аналогичную картину, результат умножения будет 32 байта, и опять это дело не уместится. Выход есть, если взять по 8 байт с приемника и источника, отнять, затем распаковать, взять первые 4 байта источника, приемника, маски, перемножить, сдвинуть, сохранить в регистр. Затем тоже самое с остальными 4-мя байтами, записать в регистр, ...затем как-то соединить в одну 8-байтовую последовательность, останется сложить с приемником и запаковать, ну, и отправить в память. Логически все верно, и работать должно быстрее чем то, что сейчас есть. Кто поможет?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#74 | ||
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
![]() Цитата:
В этой формуле Zone + ((Tex - Zone) * Map shr 8) в момент Tex - Zone знак тоже важен. Если мы отнимем командой psubb, есть очень большая вероятность, что мы потеряем знак (в один байт минимум может войти -128, дальше возникнет переполнение). Т.е. операцию Tex - Zone уже надо выполнять на Word_ах а не на байтах. Ну и в подтверждение у меня вот чего получилось (см. картинку). Вобщем пока у меня никакой особенной оптимизации не придумалось кроме вот этого, но это тот же самый вариант, что и у тебя получился: Цитата:
Код:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
||
![]() |
![]() |
![]() |
#75 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Я совсем не обратил внимание на знак, думая, что разница двух байт при переполнении или выхода за нижнюю границу (0) вызывает сатурацию.
Такой же эффект, что на картинке я получал последовательно тремя логическими операциями, без распаковки, ...код минимальный, но работает только с 0 или 255 прозрачностью. Много экспериментировал, искал сразу решение путем логических команд, анализ ничего подходящего не выдает. Быть может есть еще какая-нибудь формула смешивания, что ложится в MMX команды охотнее, ...например PANDN, PMADDWD, ну я не знаю, сравнение применить и выбрать два пути смешивания, ...т.е. побороться за сокращение числа строк. Понимаю, что было бы проще видеокарту загрузить работой, но это не цель.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#76 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Собственно, организовал пропуск смешивания, если пиксел полностью непрозрачный, т.е. два сегмента, берущие по 4 байта с проверкой и прыжками, ...ну, а непрозрачный пиксел это просто переброска байтов из источника в приемник. Полагая, что в текстуре больше непрозрачных пикселов, должен быть прирост производительности.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 28.10.2010 в 21:07. |
![]() |
![]() |
![]() |
#77 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
![]()
Ну я уехал, поэтому я тут, компьютер там. С тестированием на Celerone будет не очень оперативно получаться, самое раннее на выходных.
Ну а на 4 пеньке вроде производительней раза в 1.5, правда почему то загрузка очень сильно болтается, скорее всего диспетчер врёт.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
![]() |
![]() |
![]() |
#78 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Просто тестировать нужно отключившись от Интернета, или закрыв броузер, ICQ и прочие спонтанно нагружающие систему программки. Это будет честный тест для слабого компа, а для пня 4-го и новее - не важно чего и как. Текущий 4-й тест у меня показывает на Intel Core 2 Duo 1.8GHz всего 4-10% (память DDR II), можно параллельно играя в такую игру сидеть в Интернете, болтать по ICQ, еще чего-то запускать, ...в принципе я доволен. Можно будет выполнить проверку системы примерно так:
Код:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#79 | ||
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
![]()
Тык так и тестировалось, естественно, для слабого компа. Всё выключалось - включая антивир, интернет. К тому же фиксировалась загрузка CPU по процессу FWPROJ, а не общая. Вот только как обычному пользователю объяснить, что перед запуском этой программы надо потушить все приложения, жадные до ресурсов.
Цитата:
Пропускная способность шины 100 Mhz - 800 МБ/с (а ещё есть латентность-к слову пришлось). А теперь для примера DDR2: Цитата:
![]()
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
||
![]() |
![]() |
![]() |
#80 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Вообще, смысл темы в том, чтобы не сразу отправлять пользователей "старичков" стреляться, а искать способы ускорения подготовки и отрисовки 2D-графики отличного качества. Откровенных "динозавров" вообще без MMX и с минимумом памяти на руках потенциальных пользователей просто нет, это достояние складов контор. Т.е. интересуют околопеньчетвертые машины, но и про такие как у тебя, Ulex, "имеющиеся в наличии", ...заметь, есть и по мощнее )). Задача сводится к сносной работе, ...ну а про ноутбуки и П4 разговора особо нет, все устраивает. Думаешь Flash-игра меньше загружает процессор? ...ничего подобного, даже П4 под завязку, так, что ни одно приложение более не пролезает спешно. А старые игры, и вообще в те времена занимались либо игрой, либо делом в Интернете по модему, ...сейчас сидят везде и занимаются 3-мя и более делами на одном компе.
Значит в системе будет предусмотрен переход на 16-битные текстуры, в настройках, естественно, ...ну, и вопрос с оптимизацией остается открытым.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
wi-fi и скорость | stenl1 | Компьютерное железо | 19 | 01.06.2010 17:48 |
Скорость рисования графиков | Master07 | Общие вопросы C/C++ | 3 | 16.07.2009 21:45 |
Скорость | bakanis | Работа с сетью в Delphi | 6 | 05.04.2009 12:39 |
Скорость скачивания | Терминатор | Свободное общение | 3 | 30.03.2009 19:03 |
Скорость проигрывания | Bigtyoma | Мультимедиа в Delphi | 0 | 30.09.2008 15:57 |