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)

-=SCiP=- 03.03.2008 02:18

FPS Экономия ресурсов
 
Здравствуйте братья однафорумцы! :)
Меня уже несколько дней мучает 1 вопрос. :(
А если сделать распределение ресурсов немного по иному!
В нашей сцене есть FPS ну у каждого по разному 100-20
И в каждом FPS у нас идет обработка ИИ, позиции эффектов и многое другое!
А если сделать напримере в 1м FPS 1й секунды обработка расчетов ИИ, во 2м FPS эффекты.
Обработка эффектов и математики в примере через FPS

По идеи это сократит поглощение ресурсов!!!?

FrankH 03.03.2008 02:35

Ответ: FPS Экономия ресурсов
 
Можно то оно можно, но зачем тебе 100 кадров в секунду, если боты, частицы, и многое другое будет обновляться с частотой 50 кадров или меньше? Разве что часть всей графики будет чаще отображаться..

-=SCiP=- 03.03.2008 03:37

Ответ: FPS Экономия ресурсов
 
Ну 100 кадров в сек это пример!
Я про логику и математику!
То есть самые сложные расчеты(и ресурса потребляемые), не в каждом кадре а через кадр (примерно)
А где пустой кадр от физики будет расчет позиции спрайтов (эффекты)
По идеи потребление ресурсов упадет!
По идеи 1кадр = расчеты эффектов + физики + и т.д.
А если сделать так
1й кадр = эффект
2й кадр = физика
3 = возврат к 1му!
И т.д.
Мне важно ваше мнение! Так ли это? Или я ошибаюсь в своих догадках?
Если кто такое уже делал что ни будь посоветуйте и как это реализовать!?

alcoSHoLiK 03.03.2008 10:34

Ответ: FPS Экономия ресурсов
 
Сделай тест на производительность, потом поделишься результатами. Реализовать просто. Создаешь счетчик кадров, который обнуляется каждую секунду. В главном цикле проверяешь: если кадр четный - эффект, нечетный - физика.

HolyDel 03.03.2008 11:05

Ответ: FPS Экономия ресурсов
 
-=SCiP=- , я открою тебе секрет, тсс... по хорошему так оно и делается, сложная математика не каждый кадр обновляется, а только, когда оно надо.

moka 03.03.2008 12:40

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

HolyDel 03.03.2008 12:56

Ответ: FPS Экономия ресурсов
 
В топку такие синхронизаторы.
ибо циклом негоже синхронизизровать. дельтатаймин рулит (если придерживаться етой концепции с самого начала).

-=SCiP=- 03.03.2008 17:22

Ответ: FPS Экономия ресурсов
 
HolyDel я знаю что функции выполняются при вызове данной функции!
Просто я хочу как можно больше уменьшить потребляемость ресурсов ПК.
Дельтатаймин – про него немного побольше. Если не затруднит.

HolyDel аська Совсем пахать не будет?

ABTOMAT 03.03.2008 23:21

Ответ: FPS Экономия ресурсов
 
Логику типа физики и перемещения персонажей нужно выполнять каждый кадр.
Иначе будет всё равно что в 2 раза меньше ФПС вот и всё :-D Если обновлять это дело через кадр, то будет ощущение, что игра тормозит, что ФПС = 15 хотя счётчик показывает 30. Глюки, короче.

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

Эффекты тоже лучше бы обновлять каждый кадр, хоть это и не критично, но может быть довольно неприятно (например, я пытался обновлять отражение в воде раз в 4 кадра - было довольно смешно наблюдать, как чувак бежит по берегу, а отражение словно притормаживает (как будто игра тормозит):)), однако если производительность ну совсем жмёт, можно делать и так, вернее, чтобы можно было это настраивать и включать обработку эффектов через несколько кадров в меню игры если игра тормозит от эффектов. Хотя тогда уж лучше их вообще отключить.

Про дельтатайминг я бы щас рассказал, но уже спать гонят :(( Скажу только, что Дельтатайминг (сокращённо ДТ) можно и нужно применять в игре. Юзай гугол, в нэте полно инфы.

-=SCiP=- 04.03.2008 01:20

Ответ: FPS Экономия ресурсов
 
АВТОМАТ спасибо!
То что я и хотел знать.

moka 04.03.2008 14:07

Ответ: FPS Экономия ресурсов
 
Это узнаётся простым пробованием. Узнал ты да, а понял ли? Вся тема в том что лучше попробовать, чтобы на своём опыте понять всю суть этого.

Nunan 12.04.2008 18:39

Re: FPS Экономия ресурсов
 
Нехорошо получается когда делаешь некоторые просчеты не в каждом кадре и получается что два кадра по 10мс а третий 20мс, и эти "подтормаживания" бывают очень неприятны в игре.

Удобно экономить кадры и не создавая неравномерностей - разбивая например 20 монстров по 2 монстра на кадр и т.п.

Только после долгих тестов можно увидеть результат вашей экономии.

FDsagizi 12.04.2008 19:11

Ответ: FPS Экономия ресурсов
 
Обновляйте всю логику во время- рендера картики;)

jimon 12.04.2008 19:25

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

Обновляйте всю логику во время- рендера картики;)
и получайте мега секас ! дадада

ABTOMAT 12.04.2008 21:06

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

Сообщение от FDsagizi (Сообщение 79458)
Обновляйте всю логику во время- рендера картики;)

:-D Чуть ляхи не обдрыстал аццмеха :lol:

FDsagizi 13.04.2008 01:07

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

Сообщение от jimon (Сообщение 79459)
и получайте мега секас ! дадада

А кто говорил- что это легко:-), обычно обновляют физику и ИИ во время, пока ресуеться картинка.

-=SCiP=- 13.04.2008 02:17

Ответ: FPS Экономия ресурсов
 
Хм. я думал что рендеринг в последнию очередь делается!
Сначало расчет математика и т.д. потом уже вывод на экран.
Хм.

ABTOMAT 13.04.2008 12:48

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

Сообщение от FDsagizi (Сообщение 79467)
А кто говорил- что это легко:-), обычно обновляют физику и ИИ во время, пока ресуеться картинка.

Где ж ты такое прочитал?

HolyDel 13.04.2008 14:01

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

А кто говорил- что это легко, обычно обновляют физику и ИИ во время, пока ресуеться картинка.
рисуется картинка тоже ЦПУ. (т.е. всякие куллинги, сортировка полупрозрачных елементов, определение лод-ов и т.к. - ето ложится на ЦПУ). Одновременно не получится. Это все равно что "обычно одновременно едят чипсы и едут на велосипеде".

tormoz 13.04.2008 17:28

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

FDsagizi 13.04.2008 21:28

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

Сообщение от HolyDel (Сообщение 79494)
рисуется картинка тоже ЦПУ. (т.е. всякие куллинги, сортировка полупрозрачных елементов, определение лод-ов и т.к. - ето ложится на ЦПУ). Одновременно не получится. Это все равно что "обычно одновременно едят чипсы и едут на велосипеде".

Представь что рендер жрет 30милисек( современная картинка, с тяжелыми шейдерами ), скока от сюда будет жрать ЦПУ:-) ?

jimon 13.04.2008 22:14

Ответ: FPS Экономия ресурсов
 
ну если логика подготовит кадр, то можно запустить отдельно рендер
и отдельной просчет нового кадра

в идеальном случае просчет нового кадра закончится до окончания
рендера и мы будем ждать gpu

HolyDel 14.04.2008 11:45

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

ну если логика подготовит кадр, то можно запустить отдельно рендер
и отдельной просчет нового кадра
двойная буфферизация. технология еще со времен седого ДОСа

jimon 14.04.2008 12:08

Ответ: FPS Экономия ресурсов
 
хм, извеняюсь, не знал :)

moka 14.04.2008 13:11

Ответ: FPS Экономия ресурсов
 
Тяжёлый рендер будет тоже больше цпу кушат, там есть свои приколы, к примеру посылка данных в шейдер, и т.п.

Цитата:

Хм. я думал что рендеринг в последнию очередь делается!
Сначало расчет математика и т.д. потом уже вывод на экран.
Прально Думаешь.

FDsagizi 14.04.2008 20:51

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

Сообщение от MoKa (Сообщение 79533)
Если не пробовал не говори, а если попробовал то ты глупец.

Ну ты писец как сказал:-D
Не буду удевлен если по такой системе работает унриал 3, крайэнжн- и хочешь сказать что их разрабы глупцы?
ЗЫ\ какой ты наивный;)

ABTOMAT 15.04.2008 00:57

Ответ: FPS Экономия ресурсов
 
Да это не к тому...
Топик-то в разделе Блитз3Д создан.
А по сему даёшь рабочий исходнег для Блитз3Д, иначе хватит уже флудить.

moka 15.04.2008 11:40

Ответ: FPS Экономия ресурсов
 
FDsagizi, ты хочешь сказать с фпс в 5 у меня будут тупить боты, а с фпс 50 они будут умнее на много, машины тоже с разной скоростью будут ездить? И по сети играя, у одного быстрее, а у другого медленее.
:lol: не, ну ты возжигаешь!

jimon 15.04.2008 12:05

Ответ: FPS Экономия ресурсов
 
ну если по-философствовать то ...
правильной является сервер-клиентная архитектура

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

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

moka 15.04.2008 12:10

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

вся симуляция чего либо : физики, ии, игровой логики и тд - это сервер
а вся показуха етих многочисленых данных - клиент
в любом случае симуляция от рендера не зависит (я о данных говорю),
а рендер от симуляции напрямую зависит ... (управление - не рендер)
+1
Но это не только к сервер<>клиент сруктуре относится но и к любым качественным синхронизаторам.

ffinder 15.04.2008 12:37

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

Сообщение от jimon (Сообщение 79565)
ну если по-философствовать то ...
правильной является сервер-клиентная архитектура

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

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

ну, если просто логически продолжить мысль, то приходим к изобретенной в 70-х архитектуре Модель-Вид-Контроллер, а Клиент-Сервер - это немного не про то.
Итак, "кто здесь что":
игровая логика и физика это Модель
графика, звук - Вид
ввод, сеть - Контроллер

и вот если не лезть в "вычислительные сервера", то разнесение задач по ядрам процессоров в PC (недавно появившихся) и приставок (на PS2 уже давно два, вернее 3 процессора) задача вполне теоретически возможная и может даже и нужная (см. Alan Wake)

moka 15.04.2008 13:04

Ответ: FPS Экономия ресурсов
 
ffinder, звук к синхронизированной части как и анимацию нужно относить, а то получится как в Assassin's Creed, там анимация зависела от FPS, а звук нет, и получалось что звук опережал, если фпс небыл стабильно 60.

ffinder 15.04.2008 15:45

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

Сообщение от MoKa (Сообщение 79571)
ffinder, звук к синхронизированной части как и анимацию нужно относить, а то получится как в Assassin's Creed, там анимация зависела от FPS, а звук нет, и получалось что звук опережал, если фпс небыл стабильно 60.

подожди, про синхронизацию я еще ничего не говорил.
итак,"обо времени":
есть всего два варианта как поступать если не успеваем обсчитывать:
1. если игра многопользовательская, то время "жесткое", и тянуть его мы не можем, значит будут рывки в анимации, так как игроку всегда нужна только "адекватная" картина, а не "догонялки"
2. в синглплеере время можно "тянуть" в угоду игроку и его слабой системе. Т.е. у нас фиксед таймстеп на всё. не успели посчитать что-либо? - значит время в игре просто идет медленнее, т.е. "логический" таймстеп не соответсвует реальному: 0.016 сек в дествительности может оказаться 0.16 :-(

FDsagizi 15.04.2008 15:47

Ответ: FPS Экономия ресурсов
 
Ну так как тема про блиц, то можно завязывать рассуждение про потоки, интерфейс не позволяет юзать их ( вот тока не надо говорить, что звук, работает через отдельный поток, через ДЛЛ и т.д. ... )- это отдельная тема!
2МоКа- ощютимый прирост появляеться на 2х и больше ядерных процах, и если не веришь, го на гейм дев, там есть люди которые это не тока в теории, но и в практике применяли!

moka 15.04.2008 17:54

Ответ: FPS Экономия ресурсов
 
FDsagizi, ты видимо меня не понял..
Не нужно меня посылать кудато, т.к. я сам пробовал и те и те варрианты! Это логически и ТУПОМУ понятно!

ffinder, я посмотрю как ты в крайзис на 6600 поиграешь, игровой метр за 10 секунд протащишся - внушительно.

Пока каждый из вас не попробует и то и то, с разными машинами, спорить не буду, т.к. опыт vs чьёто имхо - ну задолбало! Реально тупите. И учится не хотите, заместо болтовни сто раз попробуйте и потом высказывайтесь.

Всё.

HolyDel 15.04.2008 18:14

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

Цитата:

ffinder, звук к синхронизированной части как и анимацию нужно относить, а то получится как в Assassin's Creed, там анимация зависела от FPS, а звук нет, и получалось что звук опережал, если фпс небыл стабильно 60.
вот представь ситауцию, сидят матерые разработчкики (Ass Ass in Screen), пьют водку и думают, синхронизировать им звук или нет... Вопрос: стали бы они откаызываться от синхронизации звука, если бы ета синхронизация была бесплатной? Да нет конечно, столько им никогда не выпить ;) Очевидно есть серьезные минусы... какие - не знаю. ))

moka 15.04.2008 18:21

Ответ: FPS Экономия ресурсов
 
Звук у них шёл одним потоком, и запуск был завязан на времени, а анимация всего и происходящее на сцене, по времени происхождения, когда скорость зависела от FPS :)

HolyDel 15.04.2008 18:29

Ответ: FPS Экономия ресурсов
 
у них звук запускался триггерами чтоли?

ffinder 15.04.2008 19:03

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

Сообщение от MoKa (Сообщение 79585)
ffinder, я посмотрю как ты в крайзис на 6600 поиграешь, игровой метр за 10 секунд протащишся - внушительно.

ну, если тормоза достигают таких пределов, то тут уже ничего не поможет.
в обратном случае (с "жестким временем") играть тоже не получится: слайдшоу на экране, а время то идет... не заметишь как и враги убьют ;-)
Цитата:

Сообщение от MoKa (Сообщение 79585)
Реально тупите. И учится не хотите, заместо болтовни сто раз попробуйте и потом высказывайтесь.

это ты мне? интересный поворот дискуссии.
внимательно перечитал топик с самого начала. покажи место где конкретно я затупил.
насчет "болтовни": на чем основываются твои резкие утверждения?

согласен с Тормозом. тред реально превращается в заговор :-))))

moka 15.04.2008 19:23

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

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

Цитата:

ну, если тормоза достигают таких пределов, то тут уже ничего не поможет.
в обратном случае (с "жестким временем") играть тоже не получится: слайдшоу на экране, а время то идет... не заметишь как и враги убьют ;-)
Покупайте молодой человек себе хороший компьютер. Я сделал пример с видяхой 6600, человек запустит кризис и из-за такой скорости будет блювать, и обосрёт игру, а если она просто не пойдёт - он обидется и поймёт что комп слабый.
Темболее по сети игра, хочешь сказать там по разному народ бегает? У одного он еле-еле у другого как супермен, т.к. у него крутой комп? :lol:
Там синхронизировано хорошо.

Меня просто бесит что вы говорите, реально такую тупость, что я бешусь и смеюсь, хочу чтобы вы увидили то что тупите, а не могу! :(

ffinder 15.04.2008 22:21

Ответ: FPS Экономия ресурсов
 
2 MoKa:
ты просто не думаешь о том, что тебе пишут. или не читаешь вовсе. либо мы живем в разных вселенных. параллельных.

с таким уровнем аргементации как у тебя дискуссию вижу бессмысленной и даже вредной.

FDsagizi 15.04.2008 23:37

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

Сообщение от MoKa (Сообщение 79599)
Меня просто бесит что вы говорите, реально такую тупость, что я бешусь и смеюсь, хочу чтобы вы увидили то что тупите, а не могу! :(

Что именно бесит, скажи все! ?

-=SCiP=- 16.04.2008 03:10

О люди вы позабыли о Пнях 3 или селерон 1200 с 32Мб видео памяти!
Вот это не ПК а звери! :)
Люди вот скажите мне. если у мну будет dll и в них будет функции.
Я буду загружать эт все в Блиц.
Будет же меньше тормознее чем эт сделать в самом блице?
примере эффект линзы. (Шейдеры)
кстати у ковонибыти есть ссылка о программировании шейдеров?

И будте добрее к однофорумцам.

impersonalis 16.04.2008 03:17

Ответ: FPS Экономия ресурсов
 
Нет постойте-ка: имхо предложенный Джимоном вариант
Цитата:

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

moka 16.04.2008 14:09

Ответ: FPS Экономия ресурсов
 
ffinder, я бешусь т.к. устал спорить.

Ответь: ты высказываешь своё имхо, как и FDsagizi, исходя из Проверенных множество варриантов синхронизации, или из своего мнения основанного на логическом разборе предложенной информации? Опыт, или только мнение?

impersonalis, видимо тебя запутали, или нет а меня да, или да? Нет?

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, время: 09:57.

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