Просмотр полной версии : Оптимизация
Все мы знаем, что какой бы мощный компьютер не был, а плохая оптимизация прог и игр плохо сказывается на драгоценных FPS так что в этой теме обсуждаются проблемы и способы их решения, связанные с оптимизацией “самоделок”.
Мне кажется проблемы и способы их решения должны обсуждатся в теме игры.Зачем тут отдельную тему делать?Например тормозит у меня обливион,нафиг мне сюда лезть?Не проще ли в тему по игре?
А это в помощ игростроевцам!Оптимизировать свои игры тоже надо.
The Vork
31.05.2008, 18:41
вот такой вопрос - каким образом разматывание циклов увеличивает производительность программ?
Я инициатор, но не более, знаю только как увеличить оптимизацию во флэше, ждем друих поситителей.
[CCCP] Monster
31.05.2008, 19:17
]The Vork[
При разматывании циклов исключается время, необходимое на выполнение проверки завершения цикла и переход на метку в начало цикла. Целесообразно только в случае заранее известного, статичного, небольшого числа повторений (до 10).
Подробнее тут:
http://www.codenet.ru/progr/optimize/asm_opt3.php
Alexander K
01.06.2008, 00:03
2[CCCP] Monster : та дату статьи забыл там посмотреть - PC Magazine/Russian Edition, No. 1/1992, pp. 102-117 , там даже по регистрам видно , что они 16битные , что уже указывает на модели процессоров класса i80(2)86 , грубо-говоря , это и есть для i80(2)86 .. к сведению - 8086 выпущен в конце 70х и частота там в пределах 5-6 мгц , а его старший брат 80286 имеет частоту от 6 до 20 мгц :D , выпущен примерно тогда же ))
Естественно в то время оптимизация кода была большой проблемой из-за ограниченной скорости процессора , но в наше время , точнее начиная уже с первых ПК , это вообще нет смысла даже вспоминать .
]The Vork[ поняли куда эту размотку циклов ? :D
[CCCP] Monster
01.06.2008, 02:27
Alexander K
К алгоритмам дата выпуска процессора имеет мало отношения. А размотка циклов как использовалась, так и используется по сей день, в случае, если на сам цикл надо сравнимое с телом цикла число машинных тактов. Тут можно сократить время выполнения в 1.5-2 раза. Если выполняется цикл пару тысяч раз - то это действительно ерунда. А если у тебя пара тысяч объектов, в которых нужно обсчитывать что-то этим алгоритмом, тоже пару тысяч повторений, то двухкратное сокращение времени выполнения окажется весьма полезным.
Это я все к тому, что не имеет значения, на сколько крут за последние 10 лет стал твой процессор. Значение имеет лишь задача оптимизации, успешное выполнение которой зависит от архитектуры и используемых алгоритмов. И если есть смысл в каком-то бородатом приеме оптимизации, то его следует использовать.
Alexander K
01.06.2008, 10:27
[CCCP] Monster
Переходы выполняются за несколько маш. циклов , что уж никак не может повлиять на работоспособность мп и скорость выполнения кода , а если там , к примеру , действия над объектами , как сказили вы , то размер кода работы с объектом никак уж нельзя соизмерять с кодом перехода .
И если уж на то пошло , что идет борьба за максимальную оптимизацию , то пишите всё на асме ) Естественно это не возможно .
[CCCP] Monster
01.06.2008, 11:43
Переходы выполняются за несколько маш. циклов , что уж никак не может повлиять на работоспособность мп и скорость выполнения кода , а если там , к примеру , действия над объектами , как сказили вы , то размер кода работы с объектом никак уж нельзя соизмерять с кодом перехода .
Переход сам по себе - да. А проверка условия перехода? Или условия выхода из цикла? Кроме того, суть вопроса в том, что объектов - много, а цикл содержит один из методов класса объекта. В этом случае нельзя сказать, что работа с объектом дольше выполняется, т.к. вызов функции расположен вне цикла, точнее цикл в теле функции расположен.
Короче, мы что-то углубились в бесплодные споры. По существу есть что-нибудь?
Alexander K
02.06.2008, 00:29
По существу есть что-нибудь?
Видимо уже нет , ведь на вопрос ]The Vork['a был дан ответ )
Вот мои советы
Хоите ставьте + не хоите не надо ))
1. Ставим GameGain и сразу же таблэтку, без неё даже не начинайте установку программы, зптем выбираем свой железо ставим FAST затем ждём, перезагружаем комп.
Мои личные опыты
1. Колл оф Дьюти 4 - До 32-38 ФПС После 35-40 ФПС
2. ТЕС 4 Обливион - До 19-22 ФПС После 25-35 ФПС
3. Кингс Баунти Легенда о рыцыре До 40-45 ФПС после 42-45 ФПС
4. И самый шокирующий Готика 3 До 15-20 ФПС после 25-30 ФПС
2.Вырубайте аППсолютно всё включая аську,а самое главное антивир
3. Поройтесь в ини файлах, иногда помогает
4. Мною не проверенный
Зайдите в игру затем сверните и нажмите ctrl+alt+delete зайдите в процессы, найдите процесс запущенной игры нажмите на ней ПКМ и в пункте приоритет выставите Ниже среднего или Низкий (говорят что в мморпг и КС прибавояет ещё и пинг.)
Вот и всё !
Тут можно почитать про это "Оптимизация Direct3D приложений."
http://www.gamedev.ru/articles/?id=10022
vBulletin® v3.8.0, Copyright ©2000-2025, Jelsoft Enterprises Ltd.