|
3D-программирование Вопросы, касающиеся программирования 3D мира |
16.04.2008, 15:17
|
#46
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: FPS Экономия ресурсов
impersonalis, видимо тебя запутали, или нет а меня да, или да? Нет?
|
MoKa ты на Ook стал кодить?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
16.04.2008, 15:49
|
#47
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: FPS Экономия ресурсов
Ook? Я нефтанке!
|
(Offline)
|
|
16.04.2008, 16:52
|
#48
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: FPS Экономия ресурсов
http://ru.wikipedia.org/wiki/Ook!
млин - ктонить прокоментит мой пост? Обхясните!!
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
16.04.2008, 17:24
|
#49
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: FPS Экономия ресурсов
вообще говоря, не является двойной буферизацией, как то написал HolyDel: надо сначала разобраться что подразумевается под рендером - если аппаратная (или программно-аппаратная) процедура, то понятия совпдают, если же только программная, то двойная буферизация является, скорее, методом синхронизации вывода кадра.
Или вы меня в конце запутали вольными синонимами и с прилагательными в произвольном роде. Кто0нибудь объясните!!1
|
да, в досе двойная буфферизация была скорее синхронизацией (хотя, и щас она является скорее синхронизацией). под рендерингом я понимаю современный рендеринг - по возможности аппаратный.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
16.04.2008, 17:44
|
#50
|
|
Ответ: FPS Экономия ресурсов
а я понимаю под рендерингом програмный комплекс в который идут данные и оно уже выводит картинку
|
|
|
16.04.2008, 17:46
|
#51
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: FPS Экономия ресурсов
jimon, аналогично думаю.
Но отношу к нему, ещё и рендеры кубемап, текстур, отсылка данных в шейдер, шейдеры, и т.п. Тоесть всё то что не нужно делать лишний раз, а делается лишь для вывода картинки. Поэтому и не синхронизирую это.
|
(Offline)
|
|
16.04.2008, 20:22
|
#52
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: FPS Экономия ресурсов
Сообщение от MoKa
ffinder, я бешусь т.к. устал спорить.
Ответь: ты высказываешь своё имхо, как и FDsagizi, исходя из Проверенных множество варриантов синхронизации, или из своего мнения основанного на логическом разборе предложенной информации? Опыт, или только мнение?
|
что ты вобще понимаешь под синхронизацией? как-то всё у тебя мистически глубоко...
я исхожу из своего опыта: программирования игр и играния в них
1. никакой синхронизации на самом деле просто не существует, есть выполнение работы подсистем движка _за кадр_.
2. всевозможные интерполяции положений (в том числе и скелетной анимации), RenderTwinning в Blitz3D и т.д должны выполнятся _раз в кадр_
3. расчет физики должен иметь:
со одной стороны фиксированный таймстеп не зависящий от отрисовки, т.е. столько шагов интеграции, сколько влазит в дельтатайм между вызовами физ движка
с другой стороны такой подход на слабой машине может окончится ситуацией когда мы вобще никогда не догоним, т.е. надо вводить пропуск кадров.
4. звук, в отличии от графики, "тянуть" нельзя. он запускается логикой, одновременно с запуском анимаций, спецэффектов и тому подобного.
5. ИИ. лучший кандидат на "растягивание". видел игры где противник играет слабее, когда играешь на слабой машине. жаль что не могу сходу вспомнить.
в квейке (1996 года) применялось откладывание обработки ИИ монстров и предметов на уровне, так называемый nextthink, т.е. время, когда монстр сможет подумать в следующий раз.
Сообщение от MoKa
impersonalis, видимо тебя запутали, или нет а меня да, или да? Нет?
|
expression parsing error %)
попробуй отдохнуть. такое впечатление что у тебя нервное истощение.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
16.04.2008, 20:50
|
#53
|
Бывалый
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений (для 509 пользователей)
|
Ответ: FPS Экономия ресурсов
Вот если по сюжету, в игре 2 кубика и шарик, а играть чертовски интересно, то сюжет тоже являеться оптимезацией.
__________________
Жизнь как говориться игра- делать игры моя профессия(с)
Программирование, это религия! Её нужно исповедовать.
|
(Offline)
|
|
17.04.2008, 11:30
|
#54
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: FPS Экономия ресурсов
Начну с того что я понимаю под синхронизацией: это разделение процессов, дабы первую часть выполнять не в зависимости от мощности компьютера и скорости обработки второй части. Завязывается это на системном времени, а оно тикает всегда без тормозов.
У меня идёт такой метод оптимизации: если рендер очень весом, а логика не успевает на 60 логических циклов в кадр (UPS), значит пропускается рендер. Таким образом, рывки - это чушь, от них избавляешся без проблем.
Далее:
1. никакой синхронизации на самом деле просто не существует, есть выполнение работы подсистем движка _за кадр_.
|
Кадр - это только тогда, когда ты вызвал RenderWorld и затем Flip'нул буффера, таким образом, я могу выполнять логику сколько мне угодно, а рендерить не всегда - и это будет тоже одним кадром
2. всевозможные интерполяции положений (в том числе и скелетной анимации), RenderTwinning в Blitz3D и т.д должны выполнятся _раз в кадр_
|
Играл в MotoCross где-то 98 года игра? На нынешних машинах, запустив её, нажав старт ты уже будешь в стенке, затем через секунд 30 противник проедет 3 круга и дёрнет тебя, в чём прикол? Да в том что там всё шло именно в кадр. Пример из современного, ставим Assassin's Creed, ставим настройки по максимум, смотрим ролики, вот тебе пример не синхронизации анимации, звук идёт как положено, а челы двигаются в зависимости от FPS - глупо согласись.
А теперь глянь на Crysis - и учись как нужно синхронизировать всё, заметь, там и с лагами и без, вся анимация, физика и логика проходит с одной скоростью - это есть отличная синхронизация.
3. расчет физики должен иметь:
со одной стороны фиксированный таймстеп не зависящий от отрисовки, т.е. столько шагов интеграции, сколько влазит в дельтатайм между вызовами физ движка
|
Читай второе.
4. звук, в отличии от графики, "тянуть" нельзя. он запускается логикой, одновременно с запуском анимаций, спецэффектов и тому подобного.
|
Звук везде практически, работает отдельным потоком, поэтому и лаги ему нипочём, при этом потребляет он ничтожно мало. Теперь смотри, у тебя анимация бега, на одном компе (мощном), ты бежишь и у тебя постоянный стук ног по земле, а на слабом, у тебя промежуток времени между этим в раза 4 больше, интерестно..
Или у тебя чел будет разговаривать, открывая рот, при этом звук идёт как положено, а вот комп недотягивает, и тут билеберда, звук договорил, а этот ртом воздух глотает, так неспеша
5. ИИ. лучший кандидат на "растягивание". видел игры где противник играет слабее, когда играешь на слабой машине. жаль что не могу сходу вспомнить.
в квейке (1996 года) применялось откладывание обработки ИИ монстров и предметов на уровне, так называемый nextthink, т.е. время, когда монстр сможет подумать в следующий раз.
|
Ну это уже чушь полнейшая, при этом это мотивирует игрока запускать комп на более слабой машине и максимальных настройках, лижбы гамать с 30 фпс, тогда противник тупой , это уже перебор, сам подумай, тут расписывать и не нада!..
попробуй отдохнуть. такое впечатление что у тебя нервное истощение.
|
Хочу, а не дают, много работы, и авралов, а когда пытаешся ошибающегося навести на "путь истинный" - тебе ещё и плуют в глаза, и не ценят старанья, тогда и срываешся.
|
(Offline)
|
|
17.04.2008, 11:36
|
#55
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: FPS Экономия ресурсов
так, синхронизация в 49 посте - это синхронизация изображения, чтобы небыло так, когда полэкрана наш кадр а вторая половина предудщий.
имхо (только имхо) если синхронизация накладна - то ну ее нафиг, пойдет и обычное ограничение фпс, и стараться держать етот предел любыми способами.
|
(Offline)
|
|
17.04.2008, 12:16
|
#56
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: FPS Экономия ресурсов
Сообщение от MoKa
У меня идёт такой метод оптимизации: если рендер очень весом, а логика не успевает на 60 логических циклов в кадр (UPS), значит пропускается рендер.
|
скипнул рендер много раз - вот тебе и рывок
Сообщение от MoKa
Кадр - это только тогда, когда ты вызвал RenderWorld и затем Flip'нул буффера, таким образом, я могу выполнять логику сколько мне угодно, а рендерить не всегда - и это будет тоже одним кадром
|
хорошо, если цепляешся за термины (оно по сути так и надо) то раз в "цикл движка"
Сообщение от MoKa
Играл в MotoCross где-то 98 года игра? На нынешних машинах, запустив её, нажав старт ты уже будешь в стенке, затем через секунд 30 противник проедет 3 круга и дёрнет тебя, в чём прикол? Да в том что там всё шло именно в кадр.
|
где я говорил что дельтатайминг отменен?
про физику ты вобще не понял. перечитай еще раз.
Сообщение от MoKa
Или у тебя чел будет разговаривать, открывая рот, при этом звук идёт как положено, а вот комп недотягивает, и тут билеберда, звук договорил, а этот ртом воздух глотает, так неспеша
|
никто и не говорит что так хорошо и так следует делать
Сообщение от MoKa
Ну это уже чушь полнейшая, при этом это мотивирует игрока запускать комп на более слабой машине и максимальных настройках, лижбы гамать с 30 фпс, тогда противник тупой , это уже перебор, сам подумай, тут расписывать и не нада!..
|
да, конечно, и вобще Кармак неучЪ в селе на техасщине...
размазывание тяжелых алгоритмов по времени - это общепринятая практика, и если система ниже минимальных требований в игре, то выходит именно такой эффект.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
17.04.2008, 12:40
|
#57
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: FPS Экономия ресурсов
размазывание тяжелых алгоритмов по времени - это общепринятая практика, и если система ниже минимальных требований в игре, то выходит именно такой эффект.
|
ffinder, размазка по фиксированному времени - да, но не привязка к нестабильному - FPS.
На Кармака мне полностью пофигу, не слышал его и не нада мне он
никто и не говорит что так хорошо и так следует делать
|
Тогда зачем пишешь подобное?
где я говорил что дельтатайминг отменен?
|
Я тоже этого не утверждал.
хорошо, если цепляешся за термины (оно по сути так и надо) то раз в "цикл движка"
|
Движок тут вовсе непричём. Есть главный игровой цикл, есть подциклы, есть менюшный (смотря как меню реализовывать), есть загрузочный участок, у меня это немалый цикл, где проходят много процессов заполнения инфы из загрузочных файлов, и сортировки, дабы легко отчищать, без потери памяти.
скипнул рендер много раз - вот тебе и рывок
|
Скипать нада плавно, недумаю что ты заметишь промежуток между 46 и 47 кадрами на секунде, учитывая что при 60 fps, это будет 16 милисекунд.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:39.
|