Member
Статус: Не в сети Регистрация: 17.03.2003 Откуда: Москва
После последних заметок по поводу оптимизации КУ3 под интел и АМД возникает несколько интересных вопросов.
1)Можно ли написать прогу которая будет модифицировать код игры оптимально под 3DNow! скажем.
2) Если нет то можно ли писать библиотеки под каждую конкректную игру.
А вообще порожает, что милионы пользвателей вынуждены мучаться из-за неоптимального кода хотя все может бегать намного быстрее
В тестах результат возростает на 10-30% на новых библиотеках это равносильно замене 1800ХР на 2500Бартон приблизительно.
Также это очень интересно с коммерческой стороны, я бы бабок заплатил грамотным людям
Предлогаю гамерам скинуться для программеров на библиотеки под определенные игрули
Кто че думает?
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
Цитата:
Вроде как декомпилировать можно.
Вроде как нельзя. Это противоречит лицензионному соглашению, так что можно стать вне закона.
А у меня вот на К6-2+ оптимизированные библиотеки не идут. 3DNow! и 3DNow! Pro у меня вроде есть. Нет только самого нового набора инструкций Не поможете конкретно под мой процессор оптимизированные варианты найти?
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Member
Статус: Не в сети Регистрация: 17.03.2003 Откуда: Москва
Root писал(а):
Цитата:
Вроде как декомпилировать можно.
Вроде как нельзя. Это противоречит лицензионному соглашению, так что можно стать вне закона.
А у меня вот на К6-2+ оптимизированные библиотеки не идут. 3DNow! и 3DNow! Pro у меня вроде есть. Нет только самого нового набора инструкций Не поможете конкретно под мой процессор оптимизированные варианты найти?
Root я имею ввиду глобальную возможность, а не законы. Да и кто смотрит на этот закон(Никто под библиотеками не собирается подписываться). А еще поздравляю тебя с таким редким камнем у меня тоже есть правда стоит в системнике на полу и не работает.
Сперли исходники от халфа 2-го ура ктонибудь сделайте нормальную реализацию под 3Dnow! пожалуйста!!!!!!
Люди кто шарит в програмировании скажите есть проблема с исходниками, или нет. А то не люблю обсуждать предмет о котором ничего не знаю.
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
Цитата:
поздравляю тебя с таким редким камнем
Спасибо! Мне стоило больших трудов его найти Кстати, единственная нормально оптимизированная гама под 3DNow! - это .... Q2!!! Прикольно, да? А в УТ поддержка 3DNow! кривая. Там с помощью этих инструкций только боты просчитываются, но не более
По теме исходников:
Оптимизировать код под 3DNow! сложно. Сложнее, чем под MMX. При этом 3DNow! работает поверх FPU, причем так, что все тормозит:)
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Не поможете конкретно под мой процессор оптимизированные варианты найти?
У тебя с Атлоном набор инструкций 3dnow! идентичный, так что например для Quake3 тебе надо атлоновский патч брать SSE, правда, нету, но для атлонов в кваке SSE не используют (?...).
Было бы круто достать код для Halflife 1, а то что за нафиг - у меня DoD тормозит, а 3-й квейк летает без проблемм. Ужас
Member
Статус: Не в сети Регистрация: 17.03.2003 Откуда: Москва
Root писал(а):
Кстати, единственная нормально оптимизированная гама под 3DNow! - это .... Q2!!! Прикольно, да? А в УТ поддержка 3DNow! кривая. Там с помощью этих инструкций только боты просчитываются, но не более
По теме исходников: Оптимизировать код под 3DNow! сложно. Сложнее, чем под MMX. При этом 3DNow! работает поверх FPU, причем так, что все тормозит:)
Ты имеешь ввиду УТ1 что ли? Потому что в 2003 амд явно быстрее интела код под амд впорядке.
Про исходники.
АМД ММХ давно поддерживает или под ММХ ты имел ввиду SSE.
А то что сложнее я тоже слышал, но это больше похоже на один из тех лозунгов типа Интел это самый крутой проц в галактике и все тут.
И вообще не понятно, что значит сложнее оптимизировать. Интел же просто выпускает более новый кампилятор, который сам все оптимизирует тут недавно про это писали на сайте. Перекампилил под Р4 +10% офигеть т.е.
должен быть компилятор под АМД? Кто в курсе?
Есть, называется Microsoft Visual Studio Processor Pack, позволяет использовать новые инструкции, и от АМД есть прога что помогает оптимизировать код. То есть, не так близко к 100% автоматизации, но недалеко от этого
Member
Статус: Не в сети Регистрация: 17.03.2003 Откуда: Москва
Shurik писал(а):
Есть, называется Microsoft Visual Studio Processor Pack, позволяет использовать новые инструкции, и от АМД есть прога что помогает оптимизировать код. То есть, не так близко к 100% автоматизации, но недалеко от этого
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
Цитата:
АМД ММХ давно поддерживает или под ММХ ты имел ввиду SSE.
Нет я имел в виду MMX. Конечно, его АМД поддерживает, но от не легче.
Цитата:
И вообще не понятно, что значит сложнее оптимизировать.
А то и значит. Надо затратить больше усилий, чтобы код работал под эти инструкции. И это не голословные утверждения. Вы когда-нибудь читали доку по оптимизации кода? Вот почитайте. Это такое толстененное руководство!
Цитата:
выпускает более новый кОмпилЯтор, который сам все оптимизирует
Да, есть оптимизирующие компиляторы, но они, увы, не учитывают ВСЕ аспекты оптимизации, но код действительно после них работает быстрее. Все же компилятор - программа, т.е он - ТУП, не интеллектуален.
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Member
Статус: Не в сети Регистрация: 17.03.2003 Откуда: Москва
Root писал(а):
Он неполный.
Что уже посмотрел?
А про ММх что имел ввиду, что он на АМД плохо работает, чем аргументируешь?
Да и не совсем понятно про сложность оптимизации.
Если я правильно понял то существуют программы компиляторы как для АМД так и для Интела т.е. запустил прогу и она все делает.
И второе, если вручную то всеравно нужно переколбасить весь код, тогда аргументируй почему для АМД это сложнее. Я думаю что для интела нужно такой же талмуд прочитать?
В чем принципиальное отличие оптимизаций? Аргументируй
Такое я уже слышал что под Интел оптимизировать проще, но это разговор на уровне, что Интел всегда самый быстрый. Так тебе любой ламер скажет что все круто если у тебя Пентиум. Хотя даже не знает что это. Так что давай без голословных заявлений.
Member
Статус: Не в сети Регистрация: 17.03.2003 Откуда: Москва
Root
А вообще не можешь продемонстрировать в чем сообственно оптимизация состоит. Ну там маханькую прогу нафигачить с вычислениями и затраченым временем, чтоб сравнить можно было с 3DNow! и без.У меня был один друган который это в свое время делал.
Или просто кусок кода показать с разяснениями. Где она оптимизация.
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
Цитата:
А про ММх что имел ввиду, что он на АМД плохо работает, чем аргументируешь?
Он и на Интеле так же работает. И я не имел в виду, что он плохо работает, я имел в виду, что 3DNow! не совсем корректно с FPU работает.
Цитата:
Если я правильно понял то существуют программы компиляторы как для АМД так и для Интела т.е. запустил прогу и она все делает.
Да, правильно понял. Но надо учесть, что программы пишут люди, а люди имеют тенденцию упускать детали, делать ошибки. К тому же компилятор - вещь тупая, так как это программа, т.е инструкции, человек же может думать головой.
Цитата:
тогда аргументируй почему для АМД это сложнее.
Потому что надо в голове держать больше деталей, потому что руководство тольше, потому что реализация 3DNow! такая(тормоза с FPU при использовании 3DNow!). Помимо этого, неплохо учесть, что мало программ использующих 3DNow!.
Цитата:
что Интел всегда самый быстрый.
Это неправда. АМД быстрее.
Цитата:
круто если у тебя Пентиум
Конечно, если у Вас много денег, то это тоже круто
Цитата:
У меня был один друган который это в свое время делал.
У него и спросите.
Так же учтите, что владельцам пеньков хзочется оптимизацию под SSE-SSE2.
А у меня дома K6-2+ - единственная замена первому пеньку. И я АМД доволен
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
Вот пример кода:
Цитата:
edi - адрес изображения ebx - адрес спрайта Это для одной компоненты цвета: mov al, [edi] ;загрузка байта с изображения mov ah, [ebx] ;загрузка байта со спрайта add al, ah ;сложение jnc loop ;если получилось >255 , то 255 mov al, 255 ; loop: mov [edi],al ;поместить измененный байт в изображение inc edi ;переход к следующему элементу inc ebx ;тоже самое
Под ММХ:
Цитата:
movd mm0,[edi] ;загрузка с изображения 4 байтов movd mm1,[ebx] ;загрузка с изображения 4 байтов paddusb mm0,mm1 ;сложение с проверкой на переполнение movd [edi],mm0 ;помещаем эти 4 байта в изображение add ebx,4 ;след. 4 байта add edi,4 ;след. 4 байта
Это все было на ассемблере. Как же это выглядело бы на Си:
for(i=0;i<4*N,i++)//4*N,т.к. N-кол-во пикселей, а компонентов - 4 (RGBA=Red,Green,Blue,Alpha)
image[i]+=sprite[i];//image типа char, т.е byte
На следующей итерации цикла обрабатывается след. компонента цвета и т.д.
Сразу признаюсь: код не мой, а Дмитрия Сазонова. Надеюсь, он не обидится.
Я пробовал библиотеки и от Дурона, и от Атлона, и от Атлона ХР. Ни одни не идут!!! Симптомы: ошибка-непрваильная инструкция, значит они требуют те инструкции, которых у меня нет(наверное, 3DNow!+) А мне оптимизированные под МОЙ хочется. Но, увы, мне их не найти.
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения