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
Сейчас этот форум просматривают: Google [Bot] и гости: 15
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения