forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   FPS Экономия ресурсов (http://forum.boolean.name/showthread.php?t=5837)

impersonalis 16.04.2008 15:17

Ответ: FPS Экономия ресурсов
 
Цитата:

impersonalis, видимо тебя запутали, или нет а меня да, или да? Нет?
MoKa ты на Ook стал кодить?

moka 16.04.2008 15:49

Ответ: FPS Экономия ресурсов
 
Ook? Я нефтанке! :lol:

impersonalis 16.04.2008 16:52

Ответ: FPS Экономия ресурсов
 
http://ru.wikipedia.org/wiki/Ook!

млин - ктонить прокоментит мой пост? Обхясните!!

HolyDel 16.04.2008 17:24

Ответ: FPS Экономия ресурсов
 
Цитата:

вообще говоря, не является двойной буферизацией, как то написал HolyDel: надо сначала разобраться что подразумевается под рендером - если аппаратная (или программно-аппаратная) процедура, то понятия совпдают, если же только программная, то двойная буферизация является, скорее, методом синхронизации вывода кадра.
Или вы меня в конце запутали вольными синонимами и с прилагательными в произвольном роде. Кто0нибудь объясните!!1
да, в досе двойная буфферизация была скорее синхронизацией (хотя, и щас она является скорее синхронизацией). под рендерингом я понимаю современный рендеринг - по возможности аппаратный.

jimon 16.04.2008 17:44

Ответ: FPS Экономия ресурсов
 
а я понимаю под рендерингом програмный комплекс в который идут данные и оно уже выводит картинку

moka 16.04.2008 17:46

Ответ: FPS Экономия ресурсов
 
jimon, аналогично думаю.
Но отношу к нему, ещё и рендеры кубемап, текстур, отсылка данных в шейдер, шейдеры, и т.п. Тоесть всё то что не нужно делать лишний раз, а делается лишь для вывода картинки. Поэтому и не синхронизирую это.

ffinder 16.04.2008 20:22

Ответ: FPS Экономия ресурсов
 
Цитата:

Сообщение от MoKa (Сообщение 79644)
ffinder, я бешусь т.к. устал спорить.
Ответь: ты высказываешь своё имхо, как и FDsagizi, исходя из Проверенных множество варриантов синхронизации, или из своего мнения основанного на логическом разборе предложенной информации? Опыт, или только мнение?

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

я исхожу из своего опыта: программирования игр и играния в них :-)
1. никакой синхронизации на самом деле просто не существует, есть выполнение работы подсистем движка _за кадр_.
2. всевозможные интерполяции положений (в том числе и скелетной анимации), RenderTwinning в Blitz3D и т.д должны выполнятся _раз в кадр_
3. расчет физики должен иметь:
со одной стороны фиксированный таймстеп не зависящий от отрисовки, т.е. столько шагов интеграции, сколько влазит в дельтатайм между вызовами физ движка
с другой стороны такой подход на слабой машине может окончится ситуацией когда мы вобще никогда не догоним, т.е. надо вводить пропуск кадров.
4. звук, в отличии от графики, "тянуть" нельзя. он запускается логикой, одновременно с запуском анимаций, спецэффектов и тому подобного.
5. ИИ. лучший кандидат на "растягивание". видел игры где противник играет слабее, когда играешь на слабой машине. жаль что не могу сходу вспомнить.
в квейке (1996 года) применялось откладывание обработки ИИ монстров и предметов на уровне, так называемый nextthink, т.е. время, когда монстр сможет подумать в следующий раз.

Цитата:

Сообщение от MoKa (Сообщение 79644)
impersonalis, видимо тебя запутали, или нет а меня да, или да? Нет?

expression parsing error %)
попробуй отдохнуть. такое впечатление что у тебя нервное истощение.

FDsagizi 16.04.2008 20:50

Ответ: FPS Экономия ресурсов
 
Вот если по сюжету, в игре 2 кубика и шарик, а играть чертовски интересно, то сюжет тоже являеться оптимезацией.;)

moka 17.04.2008 11:30

Ответ: FPS Экономия ресурсов
 
Начну с того что я понимаю под синхронизацией: это разделение процессов, дабы первую часть выполнять не в зависимости от мощности компьютера и скорости обработки второй части. Завязывается это на системном времени, а оно тикает всегда без тормозов.
У меня идёт такой метод оптимизации: если рендер очень весом, а логика не успевает на 60 логических циклов в кадр (UPS), значит пропускается рендер. Таким образом, рывки - это чушь, от них избавляешся без проблем.
Далее:

Цитата:

1. никакой синхронизации на самом деле просто не существует, есть выполнение работы подсистем движка _за кадр_.
Кадр - это только тогда, когда ты вызвал RenderWorld и затем Flip'нул буффера, таким образом, я могу выполнять логику сколько мне угодно, а рендерить не всегда - и это будет тоже одним кадром :)

Цитата:

2. всевозможные интерполяции положений (в том числе и скелетной анимации), RenderTwinning в Blitz3D и т.д должны выполнятся _раз в кадр_
Играл в MotoCross где-то 98 года игра? На нынешних машинах, запустив её, нажав старт ты уже будешь в стенке, затем через секунд 30 противник проедет 3 круга и дёрнет тебя, в чём прикол? Да в том что там всё шло именно в кадр. Пример из современного, ставим Assassin's Creed, ставим настройки по максимум, смотрим ролики, вот тебе пример не синхронизации анимации, звук идёт как положено, а челы двигаются в зависимости от FPS - глупо согласись.
А теперь глянь на Crysis - и учись как нужно синхронизировать всё, заметь, там и с лагами и без, вся анимация, физика и логика проходит с одной скоростью - это есть отличная синхронизация.

Цитата:

3. расчет физики должен иметь:
со одной стороны фиксированный таймстеп не зависящий от отрисовки, т.е. столько шагов интеграции, сколько влазит в дельтатайм между вызовами физ движка
Читай второе.

Цитата:

4. звук, в отличии от графики, "тянуть" нельзя. он запускается логикой, одновременно с запуском анимаций, спецэффектов и тому подобного.
Звук везде практически, работает отдельным потоком, поэтому и лаги ему нипочём, при этом потребляет он ничтожно мало. Теперь смотри, у тебя анимация бега, на одном компе (мощном), ты бежишь и у тебя постоянный стук ног по земле, а на слабом, у тебя промежуток времени между этим в раза 4 больше, интерестно..
Или у тебя чел будет разговаривать, открывая рот, при этом звук идёт как положено, а вот комп недотягивает, и тут билеберда, звук договорил, а этот ртом воздух глотает, так неспеша :lol:

Цитата:

5. ИИ. лучший кандидат на "растягивание". видел игры где противник играет слабее, когда играешь на слабой машине. жаль что не могу сходу вспомнить.
в квейке (1996 года) применялось откладывание обработки ИИ монстров и предметов на уровне, так называемый nextthink, т.е. время, когда монстр сможет подумать в следующий раз.
Ну это уже чушь полнейшая, при этом это мотивирует игрока запускать комп на более слабой машине и максимальных настройках, лижбы гамать с 30 фпс, тогда противник тупой :lol:, это уже перебор, сам подумай, тут расписывать и не нада!..

Цитата:

попробуй отдохнуть. такое впечатление что у тебя нервное истощение.
Хочу, а не дают, много работы, и авралов, а когда пытаешся ошибающегося навести на "путь истинный" - тебе ещё и плуют в глаза, и не ценят старанья, тогда и срываешся.

HolyDel 17.04.2008 11:36

Ответ: FPS Экономия ресурсов
 
так, синхронизация в 49 посте - это синхронизация изображения, чтобы небыло так, когда полэкрана наш кадр а вторая половина предудщий.

имхо (только имхо) если синхронизация накладна - то ну ее нафиг, пойдет и обычное ограничение фпс, и стараться держать етот предел любыми способами.

ffinder 17.04.2008 12:16

Ответ: FPS Экономия ресурсов
 
Цитата:

Сообщение от MoKa (Сообщение 79682)
У меня идёт такой метод оптимизации: если рендер очень весом, а логика не успевает на 60 логических циклов в кадр (UPS), значит пропускается рендер.

скипнул рендер много раз - вот тебе и рывок
Цитата:

Сообщение от MoKa (Сообщение 79682)
Кадр - это только тогда, когда ты вызвал RenderWorld и затем Flip'нул буффера, таким образом, я могу выполнять логику сколько мне угодно, а рендерить не всегда - и это будет тоже одним кадром

хорошо, если цепляешся за термины (оно по сути так и надо) то раз в "цикл движка"
Цитата:

Сообщение от MoKa (Сообщение 79682)
Играл в MotoCross где-то 98 года игра? На нынешних машинах, запустив её, нажав старт ты уже будешь в стенке, затем через секунд 30 противник проедет 3 круга и дёрнет тебя, в чём прикол? Да в том что там всё шло именно в кадр.

где я говорил что дельтатайминг отменен?

про физику ты вобще не понял. перечитай еще раз.
Цитата:

Сообщение от MoKa (Сообщение 79682)
Или у тебя чел будет разговаривать, открывая рот, при этом звук идёт как положено, а вот комп недотягивает, и тут билеберда, звук договорил, а этот ртом воздух глотает, так неспеша

:lol:
никто и не говорит что так хорошо и так следует делать

Цитата:

Сообщение от MoKa (Сообщение 79682)
Ну это уже чушь полнейшая, при этом это мотивирует игрока запускать комп на более слабой машине и максимальных настройках, лижбы гамать с 30 фпс, тогда противник тупой :lol:, это уже перебор, сам подумай, тут расписывать и не нада!..

да, конечно, и вобще Кармак неучЪ в селе на техасщине...
размазывание тяжелых алгоритмов по времени - это общепринятая практика, и если система ниже минимальных требований в игре, то выходит именно такой эффект.

moka 17.04.2008 12:40

Ответ: FPS Экономия ресурсов
 
Цитата:

размазывание тяжелых алгоритмов по времени - это общепринятая практика, и если система ниже минимальных требований в игре, то выходит именно такой эффект.
ffinder, размазка по фиксированному времени - да, но не привязка к нестабильному - FPS.

На Кармака мне полностью пофигу, не слышал его и не нада мне он :)

Цитата:

никто и не говорит что так хорошо и так следует делать
Тогда зачем пишешь подобное?

Цитата:

где я говорил что дельтатайминг отменен?
Я тоже этого не утверждал.

Цитата:

хорошо, если цепляешся за термины (оно по сути так и надо) то раз в "цикл движка"
Движок тут вовсе непричём. Есть главный игровой цикл, есть подциклы, есть менюшный (смотря как меню реализовывать), есть загрузочный участок, у меня это немалый цикл, где проходят много процессов заполнения инфы из загрузочных файлов, и сортировки, дабы легко отчищать, без потери памяти.

Цитата:

скипнул рендер много раз - вот тебе и рывок
Скипать нада плавно, недумаю что ты заметишь промежуток между 46 и 47 кадрами на секунде, учитывая что при 60 fps, это будет 16 милисекунд.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot