Форум: "Игры";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];
ВнизДля чего нужен параметр doWaitVBlank в DXDRAW? Найти похожие ветки
← →
RyDmi © (2004-07-27 00:48) [0]Дело в том, что с ним перерисовка просходит значительно медленее и наглюченее. Меня сбивает с толку то, что этот параметр стоит по умолчанию. Так зачем же он всё-таки нужен и многое ли изменится если я его уберу?Подскажите пожалуйста.
← →
Megabyte-CeerCop © (2004-07-27 06:20) [1]Точно не знаю, но он заставляет ждать CPU пока карта не отрисует спрайт, и только после этого посылать на отрисовку новый.
← →
NikeOLD (2004-07-27 15:38) [2]
> Точно не знаю, но он заставляет ждать CPU пока карта не
> отрисует спрайт, и только после этого посылать на отрисовку
> новый.
Отрисовка спрайта здесь не при чем. Просто вывод на экран синхронизируется обратным вертикальным ходом луча. Тормозит по сравнению с обычным, не спорю, но позволяют более плавный вывод осуществлять. В противном случае может получиться так, что при рендеринге заднего буфера полэкрана будет со старой картинкой, а полэкрана с новой. На быстрых машинах это правда почти исключено.
← →
RyDmi © (2004-07-28 00:21) [3]Вот я делаю 2D. У меня Athlon-1700, GeForce2 32Mb, @56 Ram.
Необходим ли мне doWaitVBlank?
← →
parovoZZ © (2004-07-28 02:49) [4]На пальцах: допустим, в игрушке FPS = 100. Включаем вертикальную синхронизацию, FPS падает до частоты развёртки монитора (85 Гц самая ходовая частота). Вот отсюда и тормоза.
← →
Megabyte-CeerCop © (2004-07-28 06:14) [5]NikeOLD [2]
Синхронизация с лучем утверждается флагом doHardWare. Проверено.
Именно после его установки фпс падает с 600 до 75.
RyDmi [3]
Нет, если ты не предпологаешь что её будет запускать ещё кто-то, кроме тебя. (Думай об окружающих).
← →
NikeOLD (2004-07-28 13:35) [6]
> RyDmi [3]
Необходимо думать и о других, кто играть будет, если это предполагается.
Вообще если речь иде о FPS, то могу сказать, что для DirectDraw необходимо и достаточно (!) 25 FPS. Меньше нельзя, больше можно, но не за чем. В профессиональных играх даже стоит специальное ограничение на 25-30 FPS. Все остальное время программа либо "спит", либо готовит следующий кадр.
Очень часто имеет смысл включать синхронизацию с обратным ходом луча.
← →
Megabyte-CeerCop © (2004-07-28 14:49) [7][6] для анимации спрайтов 20 fps это более чем достаточно, однако скроллинг экрана и объектов нужно делать как минимум 40 fps. В Киркопе например FPS 40, просчет координат спрайтов идет с тойже частотой, а вот анимация спрайтов сменяется в два раза реже, чтобы память графикой не перегрузить...
Короче: разница в анимации 20 fps и 40 fps незаметна,
а разница в скроллинге экрана (с шагом более чем 1 pixel) 20 и 40 очень и очень заметна.
← →
NikeOLD (2004-07-28 15:27) [8][7] Я объясню почему именно 25 и не меньше!
Слышал когда-нибудь про смену видеокадров? Так вот частота смены кадра ОБЯЗАНА быть ровно 24 кадра в секунду. FPS это и есть частота смены кадров. Частоту смены 25 и выше человеческий глаз уловить не в состоянии, на сем эффекте и основан пресловутый 25 кадр. Если будет меньше, то глазу будет заметно дрожание и наложение новой картинки на старую, поэтому 25 и ни кадром меньше! Если мне не доверяешь, читай корифеев, Ла Мота, например.
← →
parovoZZ © (2004-07-28 19:30) [9]Не путайте хрен с редькой. В первых кинопроекторах действительно частота кадров была 24 кадра в секунду. Но человеческий глаз улавливал мерцания, поэтому позднее один кадр стали показывать дважды (боюсь ошибиться, абтеруатор что ли называется, перекрывал один и тот же кадр 2 раза), получилось как-бы 48 кадров в секунду, хотя съёмка по прежнему велась со скоростью 24 кадра. В телевидении сделали по другому. Кадр поделили на чётные и не чётные строки (так называемые поля), а для совместимости с киноплёнкой вставляют специфический 25 кадр. Получается, что передаются всё те же 25 кадров в секунду, но растр отрисовывается с частотой 50 полей в с, то бишь 50 Гц.
Это так, прелюдия. Не знаю чем там занимается Ла Мота, но для телевидения минимальная частота смены кадров 48 Гц.
Кстати, в мониторах сделана прогрессивная (построчная) развёртка, но даже при этом 50 Гц на глаз очень сильно заметно. На самом деле всё зависит от того, в какую часть сетчатки попадёт изображение, потому как для бокового зрения оптимальньой является частота 75 Гц.
← →
NikeOLD (2004-07-28 19:57) [10]
> parovoZZ © (28.07.04 19:30) [9]
Еще раз: 25 для DirectDraw и 60 для 3D! Ни кадром меньше. Ла Мот профи, в отличие от профанов. Сходство с проектором тут может и ни причем, а вот ваш кадр просто не будет успевать подготовиться и отрендериться в случае с меньшим FPS. Отсюда тормоза, когда графика как-бы замирает, а потом появляется совершенно не втом месте. Именно из-за низкого FPS!
А Ла Мота цитировать мне очень не хочется, пожалуйста не вунуждайте. Поищите ответ еще где-нибудь.
← →
parovoZZ © (2004-07-28 22:06) [11]И всё-таки не надо путать частоту развёртки монитора с частотой обновления экранного буфера. Это совершенно разные вещи. Согласен, если для DirectDraw FPS 25 является нормальным, то монитор с частотой развёртки 25 Гц Вы бы первым выкинули на помойку; и не надо утверждать, что человеческий глаз воспринимает минимум 25 кадров в секунду. 48, и не кадром меньше. Ну, среднестатистически.
← →
NikeOLD (2004-07-28 23:10) [12]А Вы, позвольте, игромейкер или "киношник"? Вынуждаете в толмудах копаться :) ? Может я тоже чего уже не припоминаю....
Ну, пожалуй соглашусь с Вами кое-в чем, но ноги все оттуда растут. Да вот у Ла Мота уточнение минимум 30 FPS, говорится, конечно, что можно и на 15 работать, но гарантии за хорошее качество малова-то.
Кстати, мы увлеклись. Где, собственно, хозяин вопроса?
← →
parovoZZ © (2004-07-28 23:44) [13]Не сочтите за оффтоп, но если задан вопрос, на него должен быть дан ответ. Кино не смотрю, в игры играю очень редко, по специальности инженер. ВСЁ.
← →
RyDmi © (2004-07-29 00:50) [14][12]: Хозяин вопроса здесь. Наблюдаю за происходящим.
[10]: У меня скроллинг карты. 25 маловато для качественного отображения.
← →
RyDmi © (2004-07-29 00:50) [15][12]: Хозяин вопроса здесь. Наблюдаю за происходящим.
[10]: У меня скроллинг карты. 25 маловато для качественного отображения.
← →
Megabyte-CeerCop © (2004-07-29 06:30) [16]Объясню, почему в кино 24 - это незаметно, а в игре 24 - очень ломит в глазах.
В кино на каждом кадре есть очень качественное MotionBlur поэтому кадры переходят один в один не заметно. А в игре мы имеем лишь ряд статичных картинок. Хотите плавного скролинка карты при низком FPS, - делайте MotionBlur. (Хотя дешевле обойдется повышение FPS).
← →
parovoZZ © (2004-07-29 11:33) [17]В современном кино - 48.
← →
RyDmi © (2004-07-30 02:54) [18]Всем спасибо. Пора закрывать этот пост.
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.032 c