Форум Игромании

Форум Игромании (http://forum.igromania.ru/index.php)
-   Архив (Общеигровые вопросы) (http://forum.igromania.ru/forumdisplay.php?f=173)
-   -   Оптимизация (http://forum.igromania.ru/showthread.php?t=69530)

Баал 31.05.2008 15:26

Оптимизация
 
Все мы знаем, что какой бы мощный компьютер не был, а плохая оптимизация прог и игр плохо сказывается на драгоценных FPS так что в этой теме обсуждаются проблемы и способы их решения, связанные с оптимизацией “самоделок”.

Gimli 31.05.2008 16:54

Мне кажется проблемы и способы их решения должны обсуждатся в теме игры.Зачем тут отдельную тему делать?Например тормозит у меня обливион,нафиг мне сюда лезть?Не проще ли в тему по игре?

Баал 31.05.2008 17:15

А это в помощ игростроевцам!Оптимизировать свои игры тоже надо.

The Vork 31.05.2008 18:41

вот такой вопрос - каким образом разматывание циклов увеличивает производительность программ?

Баал 31.05.2008 19:10

Я инициатор, но не более, знаю только как увеличить оптимизацию во флэше, ждем друих поситителей.

[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 был дан ответ )

j@mal 02.06.2008 15:40

Вот мои советы
Скрытый текст:
Хоите ставьте + не хоите не надо ))

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 зайдите в процессы, найдите процесс запущенной игры нажмите на ней ПКМ и в пункте приоритет выставите Ниже среднего или Низкий (говорят что в мморпг и КС прибавояет ещё и пинг.)

Вот и всё !

Dezman 03.06.2008 15:27

Тут можно почитать про это "Оптимизация Direct3D приложений."
http://www.gamedev.ru/articles/?id=10022


Часовой пояс GMT +4, время: 11:14.

Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.