FPS Экономия ресурсов
Здравствуйте братья однафорумцы! :)
Меня уже несколько дней мучает 1 вопрос. :( А если сделать распределение ресурсов немного по иному! В нашей сцене есть FPS ну у каждого по разному 100-20 И в каждом FPS у нас идет обработка ИИ, позиции эффектов и многое другое! А если сделать напримере в 1м FPS 1й секунды обработка расчетов ИИ, во 2м FPS эффекты. Обработка эффектов и математики в примере через FPS По идеи это сократит поглощение ресурсов!!!? |
Ответ: FPS Экономия ресурсов
Можно то оно можно, но зачем тебе 100 кадров в секунду, если боты, частицы, и многое другое будет обновляться с частотой 50 кадров или меньше? Разве что часть всей графики будет чаще отображаться..
|
Ответ: FPS Экономия ресурсов
Ну 100 кадров в сек это пример!
Я про логику и математику! То есть самые сложные расчеты(и ресурса потребляемые), не в каждом кадре а через кадр (примерно) А где пустой кадр от физики будет расчет позиции спрайтов (эффекты) По идеи потребление ресурсов упадет! По идеи 1кадр = расчеты эффектов + физики + и т.д. А если сделать так 1й кадр = эффект 2й кадр = физика 3 = возврат к 1му! И т.д. Мне важно ваше мнение! Так ли это? Или я ошибаюсь в своих догадках? Если кто такое уже делал что ни будь посоветуйте и как это реализовать!? |
Ответ: FPS Экономия ресурсов
Сделай тест на производительность, потом поделишься результатами. Реализовать просто. Создаешь счетчик кадров, который обнуляется каждую секунду. В главном цикле проверяешь: если кадр четный - эффект, нечетный - физика.
|
Ответ: FPS Экономия ресурсов
-=SCiP=- , я открою тебе секрет, тсс... по хорошему так оно и делается, сложная математика не каждый кадр обновляется, а только, когда оно надо.
|
Ответ: FPS Экономия ресурсов
Есть синхронизаторы, которые обновляют логику и всё что Не касется рендеринга, с стабильным UPS (обычно 60, в стратегиях 30, т.к. логика тяжолая). Остальное как успевается идёт рендеринг, и тут остаётся FPS, таким образом мы получаем и синхронизацию и прирост, весьма огромный на самом деле, но это касается Только Больших проектов.
|
Ответ: FPS Экономия ресурсов
В топку такие синхронизаторы.
ибо циклом негоже синхронизизровать. дельтатаймин рулит (если придерживаться етой концепции с самого начала). |
Ответ: FPS Экономия ресурсов
HolyDel я знаю что функции выполняются при вызове данной функции!
Просто я хочу как можно больше уменьшить потребляемость ресурсов ПК. Дельтатаймин – про него немного побольше. Если не затруднит. HolyDel аська Совсем пахать не будет? |
Ответ: FPS Экономия ресурсов
Логику типа физики и перемещения персонажей нужно выполнять каждый кадр.
Иначе будет всё равно что в 2 раза меньше ФПС вот и всё :-D Если обновлять это дело через кадр, то будет ощущение, что игра тормозит, что ФПС = 15 хотя счётчик показывает 30. Глюки, короче. Логику типа "монстр выбирает себе цель для преследования" или "а не пора ли взорвать пару мин под танком игрока или ещё повременить?", т.е. то, что не требует большой точности и срочности можно и нужно выполнять через несколько кадров. Эффекты тоже лучше бы обновлять каждый кадр, хоть это и не критично, но может быть довольно неприятно (например, я пытался обновлять отражение в воде раз в 4 кадра - было довольно смешно наблюдать, как чувак бежит по берегу, а отражение словно притормаживает (как будто игра тормозит):)), однако если производительность ну совсем жмёт, можно делать и так, вернее, чтобы можно было это настраивать и включать обработку эффектов через несколько кадров в меню игры если игра тормозит от эффектов. Хотя тогда уж лучше их вообще отключить. Про дельтатайминг я бы щас рассказал, но уже спать гонят :(( Скажу только, что Дельтатайминг (сокращённо ДТ) можно и нужно применять в игре. Юзай гугол, в нэте полно инфы. |
Ответ: FPS Экономия ресурсов
АВТОМАТ спасибо!
То что я и хотел знать. |
Ответ: FPS Экономия ресурсов
Это узнаётся простым пробованием. Узнал ты да, а понял ли? Вся тема в том что лучше попробовать, чтобы на своём опыте понять всю суть этого.
|
Re: FPS Экономия ресурсов
Нехорошо получается когда делаешь некоторые просчеты не в каждом кадре и получается что два кадра по 10мс а третий 20мс, и эти "подтормаживания" бывают очень неприятны в игре.
Удобно экономить кадры и не создавая неравномерностей - разбивая например 20 монстров по 2 монстра на кадр и т.п. Только после долгих тестов можно увидеть результат вашей экономии. |
Ответ: FPS Экономия ресурсов
Обновляйте всю логику во время- рендера картики;)
|
Ответ: FPS Экономия ресурсов
Цитата:
|
Ответ: FPS Экономия ресурсов
Цитата:
|
Ответ: FPS Экономия ресурсов
Цитата:
|
Ответ: FPS Экономия ресурсов
Хм. я думал что рендеринг в последнию очередь делается!
Сначало расчет математика и т.д. потом уже вывод на экран. Хм. |
Ответ: FPS Экономия ресурсов
Цитата:
|
Ответ: FPS Экономия ресурсов
Цитата:
|
Ответ: FPS Экономия ресурсов
Это заговор
|
Ответ: FPS Экономия ресурсов
Цитата:
|
Ответ: FPS Экономия ресурсов
ну если логика подготовит кадр, то можно запустить отдельно рендер
и отдельной просчет нового кадра в идеальном случае просчет нового кадра закончится до окончания рендера и мы будем ждать gpu |
Ответ: FPS Экономия ресурсов
Цитата:
|
Ответ: FPS Экономия ресурсов
хм, извеняюсь, не знал :)
|
Ответ: FPS Экономия ресурсов
Тяжёлый рендер будет тоже больше цпу кушат, там есть свои приколы, к примеру посылка данных в шейдер, и т.п.
Цитата:
|
Ответ: FPS Экономия ресурсов
Цитата:
Не буду удевлен если по такой системе работает унриал 3, крайэнжн- и хочешь сказать что их разрабы глупцы? ЗЫ\ какой ты наивный;) |
Ответ: FPS Экономия ресурсов
Да это не к тому...
Топик-то в разделе Блитз3Д создан. А по сему даёшь рабочий исходнег для Блитз3Д, иначе хватит уже флудить. |
Ответ: FPS Экономия ресурсов
FDsagizi, ты хочешь сказать с фпс в 5 у меня будут тупить боты, а с фпс 50 они будут умнее на много, машины тоже с разной скоростью будут ездить? И по сети играя, у одного быстрее, а у другого медленее.
:lol: не, ну ты возжигаешь! |
Ответ: FPS Экономия ресурсов
ну если по-философствовать то ...
правильной является сервер-клиентная архитектура вся симуляция чего либо : физики, ии, игровой логики и тд - это сервер а вся показуха етих многочисленых данных - клиент в любом случае симуляция от рендера не зависит (я о данных говорю), а рендер от симуляции напрямую зависит ... (управление - не рендер) потому сервер можно запустить в один поток, а то и на отдельной машине, а клиент пусть себе рендерит но такая архитектура слишком громоздка для простеньких шароварок (выделенный сервер для тетриса) но в принципе довольно просто масштабируется для задач любого уровня (4 вычислительных сервера, один главный и один клиент) |
Ответ: FPS Экономия ресурсов
Цитата:
Но это не только к сервер<>клиент сруктуре относится но и к любым качественным синхронизаторам. |
Ответ: FPS Экономия ресурсов
Цитата:
Итак, "кто здесь что": игровая логика и физика это Модель графика, звук - Вид ввод, сеть - Контроллер и вот если не лезть в "вычислительные сервера", то разнесение задач по ядрам процессоров в PC (недавно появившихся) и приставок (на PS2 уже давно два, вернее 3 процессора) задача вполне теоретически возможная и может даже и нужная (см. Alan Wake) |
Ответ: FPS Экономия ресурсов
ffinder, звук к синхронизированной части как и анимацию нужно относить, а то получится как в Assassin's Creed, там анимация зависела от FPS, а звук нет, и получалось что звук опережал, если фпс небыл стабильно 60.
|
Ответ: FPS Экономия ресурсов
Цитата:
итак,"обо времени": есть всего два варианта как поступать если не успеваем обсчитывать: 1. если игра многопользовательская, то время "жесткое", и тянуть его мы не можем, значит будут рывки в анимации, так как игроку всегда нужна только "адекватная" картина, а не "догонялки" 2. в синглплеере время можно "тянуть" в угоду игроку и его слабой системе. Т.е. у нас фиксед таймстеп на всё. не успели посчитать что-либо? - значит время в игре просто идет медленнее, т.е. "логический" таймстеп не соответсвует реальному: 0.016 сек в дествительности может оказаться 0.16 :-( |
Ответ: FPS Экономия ресурсов
Ну так как тема про блиц, то можно завязывать рассуждение про потоки, интерфейс не позволяет юзать их ( вот тока не надо говорить, что звук, работает через отдельный поток, через ДЛЛ и т.д. ... )- это отдельная тема!
2МоКа- ощютимый прирост появляеться на 2х и больше ядерных процах, и если не веришь, го на гейм дев, там есть люди которые это не тока в теории, но и в практике применяли! |
Ответ: FPS Экономия ресурсов
FDsagizi, ты видимо меня не понял..
Не нужно меня посылать кудато, т.к. я сам пробовал и те и те варрианты! Это логически и ТУПОМУ понятно! ffinder, я посмотрю как ты в крайзис на 6600 поиграешь, игровой метр за 10 секунд протащишся - внушительно. Пока каждый из вас не попробует и то и то, с разными машинами, спорить не буду, т.к. опыт vs чьёто имхо - ну задолбало! Реально тупите. И учится не хотите, заместо болтовни сто раз попробуйте и потом высказывайтесь. Всё. |
Ответ: FPS Экономия ресурсов
рассуждения про потоки можно не завязывать. давно уже люди сделали полезнейшую либу.
Цитата:
|
Ответ: FPS Экономия ресурсов
Звук у них шёл одним потоком, и запуск был завязан на времени, а анимация всего и происходящее на сцене, по времени происхождения, когда скорость зависела от FPS :)
|
Ответ: FPS Экономия ресурсов
у них звук запускался триггерами чтоли?
|
Ответ: FPS Экономия ресурсов
Цитата:
в обратном случае (с "жестким временем") играть тоже не получится: слайдшоу на экране, а время то идет... не заметишь как и враги убьют ;-) Цитата:
внимательно перечитал топик с самого начала. покажи место где конкретно я затупил. насчет "болтовни": на чем основываются твои резкие утверждения? согласен с Тормозом. тред реально превращается в заговор :-)))) |
Ответ: FPS Экономия ресурсов
Цитата:
Цитата:
Темболее по сети игра, хочешь сказать там по разному народ бегает? У одного он еле-еле у другого как супермен, т.к. у него крутой комп? :lol: Там синхронизировано хорошо. Меня просто бесит что вы говорите, реально такую тупость, что я бешусь и смеюсь, хочу чтобы вы увидили то что тупите, а не могу! :( |
Ответ: FPS Экономия ресурсов
2 MoKa:
ты просто не думаешь о том, что тебе пишут. или не читаешь вовсе. либо мы живем в разных вселенных. параллельных. с таким уровнем аргементации как у тебя дискуссию вижу бессмысленной и даже вредной. |
Ответ: FPS Экономия ресурсов
Цитата:
|
О люди вы позабыли о Пнях 3 или селерон 1200 с 32Мб видео памяти!
Вот это не ПК а звери! :) Люди вот скажите мне. если у мну будет dll и в них будет функции. Я буду загружать эт все в Блиц. Будет же меньше тормознее чем эт сделать в самом блице? примере эффект линзы. (Шейдеры) кстати у ковонибыти есть ссылка о программировании шейдеров? И будте добрее к однофорумцам. |
Ответ: FPS Экономия ресурсов
Нет постойте-ка: имхо предложенный Джимоном вариант
Цитата:
Или вы меня в конце запутали вольными синонимами и с прилагательными в произвольном роде. Кто0нибудь объясните!!1 |
Ответ: FPS Экономия ресурсов
ffinder, я бешусь т.к. устал спорить.
Ответь: ты высказываешь своё имхо, как и FDsagizi, исходя из Проверенных множество варриантов синхронизации, или из своего мнения основанного на логическом разборе предложенной информации? Опыт, или только мнение? impersonalis, видимо тебя запутали, или нет а меня да, или да? Нет? |
Ответ: FPS Экономия ресурсов
Цитата:
|
Ответ: FPS Экономия ресурсов
|
Ответ: FPS Экономия ресурсов
|
Ответ: FPS Экономия ресурсов
Цитата:
|
Ответ: FPS Экономия ресурсов
а я понимаю под рендерингом програмный комплекс в который идут данные и оно уже выводит картинку
|
Ответ: FPS Экономия ресурсов
jimon, аналогично думаю.
Но отношу к нему, ещё и рендеры кубемап, текстур, отсылка данных в шейдер, шейдеры, и т.п. Тоесть всё то что не нужно делать лишний раз, а делается лишь для вывода картинки. Поэтому и не синхронизирую это. |
Ответ: FPS Экономия ресурсов
Цитата:
я исхожу из своего опыта: программирования игр и играния в них :-) 1. никакой синхронизации на самом деле просто не существует, есть выполнение работы подсистем движка _за кадр_. 2. всевозможные интерполяции положений (в том числе и скелетной анимации), RenderTwinning в Blitz3D и т.д должны выполнятся _раз в кадр_ 3. расчет физики должен иметь: со одной стороны фиксированный таймстеп не зависящий от отрисовки, т.е. столько шагов интеграции, сколько влазит в дельтатайм между вызовами физ движка с другой стороны такой подход на слабой машине может окончится ситуацией когда мы вобще никогда не догоним, т.е. надо вводить пропуск кадров. 4. звук, в отличии от графики, "тянуть" нельзя. он запускается логикой, одновременно с запуском анимаций, спецэффектов и тому подобного. 5. ИИ. лучший кандидат на "растягивание". видел игры где противник играет слабее, когда играешь на слабой машине. жаль что не могу сходу вспомнить. в квейке (1996 года) применялось откладывание обработки ИИ монстров и предметов на уровне, так называемый nextthink, т.е. время, когда монстр сможет подумать в следующий раз. Цитата:
попробуй отдохнуть. такое впечатление что у тебя нервное истощение. |
Ответ: FPS Экономия ресурсов
Вот если по сюжету, в игре 2 кубика и шарик, а играть чертовски интересно, то сюжет тоже являеться оптимезацией.;)
|
Ответ: FPS Экономия ресурсов
Начну с того что я понимаю под синхронизацией: это разделение процессов, дабы первую часть выполнять не в зависимости от мощности компьютера и скорости обработки второй части. Завязывается это на системном времени, а оно тикает всегда без тормозов.
У меня идёт такой метод оптимизации: если рендер очень весом, а логика не успевает на 60 логических циклов в кадр (UPS), значит пропускается рендер. Таким образом, рывки - это чушь, от них избавляешся без проблем. Далее: Цитата:
Цитата:
А теперь глянь на Crysis - и учись как нужно синхронизировать всё, заметь, там и с лагами и без, вся анимация, физика и логика проходит с одной скоростью - это есть отличная синхронизация. Цитата:
Цитата:
Или у тебя чел будет разговаривать, открывая рот, при этом звук идёт как положено, а вот комп недотягивает, и тут билеберда, звук договорил, а этот ртом воздух глотает, так неспеша :lol: Цитата:
Цитата:
|
Ответ: FPS Экономия ресурсов
так, синхронизация в 49 посте - это синхронизация изображения, чтобы небыло так, когда полэкрана наш кадр а вторая половина предудщий.
имхо (только имхо) если синхронизация накладна - то ну ее нафиг, пойдет и обычное ограничение фпс, и стараться держать етот предел любыми способами. |
Ответ: FPS Экономия ресурсов
Цитата:
Цитата:
Цитата:
про физику ты вобще не понял. перечитай еще раз. Цитата:
никто и не говорит что так хорошо и так следует делать Цитата:
размазывание тяжелых алгоритмов по времени - это общепринятая практика, и если система ниже минимальных требований в игре, то выходит именно такой эффект. |
Ответ: FPS Экономия ресурсов
Цитата:
На Кармака мне полностью пофигу, не слышал его и не нада мне он :) Цитата:
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +4, время: 09:57. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot