Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DDraw VSync [Delphi, Windows]


Красный молоток ©   (2004-08-02 20:00:00) 

Начал разбираться с DDraw по модулям JEDI. Использую DDUtil.pas. Проблема такая - в полноэкранном режиме всега <=80 FPS. Мне кажется что это из-за вертикальной синхронизации, так вот - как ее отключить?


Evgeniy_K   (2004-08-03 20:41:00) [1]

Нет можно, по крайней мере у меня получалось.

Да, действительно стоит приобрести, я уже подумывал об этом, но сначала не было книги, а потом денег. Щаас стоит еще попытаться.
Если не сложно стукни в 146735863, я дам мыло и скинешь мне пример, только код. Си не проблема, он мне даже больше делфи нравится да и в делфи я стараюсь свои программы к стилю си приближать :)


NikeOLD   (2004-08-03 20:08:00) [2]

[12] Нельзя, равно как и нельзя изменить формат пиксела поверхности.

[11] Пример-то можно, но он, во-первых, на С++; во-вторых, там несколько громоздких дополнительных библиотек, звуки и BMP без которых не скомпилируется, а выдергивать это все и перекомпилировать у меня времени нету (уж извиняйте); в-третьих, если очень надо, могу скинуть экзешник и основной файл (пиши на мыло); в-четвертых, возможно имеет смысл приобрести Ламота, много полезного.
Основной упор сделан на то, чтобы показать как синхронизировать игру по реальному времени и по FPS. Где-то здесь я видел в ветке по таймеру, кажется.


Evgeniy_K   (2004-08-03 19:23:00) [3]

Еще извините за глупый вопрос, но можно ли сделать VSync в оконном приложении?


Evgeniy_K   (2004-08-03 19:11:00) [4]

Можно пример Ламонта?

Почему в холостую? Ведь монитор-то обновляется на все 60 FPS.


NikeOLD   (2004-08-03 15:31:00) [5]


> Красный молоток   (03.08.04 11:08) [4]


> Evgeniy_K   (03.08.04 11:16) [5]

В холостую работать будете, незачем. Остальное выше :)


NikeOLD   (2004-08-03 15:27:00) [6]

Для 3D необходимый минимум в 60 FPS.
Когда FPS ниже происходит следующее: кадр не успевает подготовиться и отрендериться, когда в догонку летит еще один. Из-за этого происходит замирание изображения. После короткой паузы (во время которой происходит работа по рендерингу нескольких следующих кадров) происходит рендеринг не n+1, а n+m кадров. Получается эффект, как будто вы закрыли глаза повернули голову и снова открыли. То, что вы могли бы видеть с открытыми глазами, выпало из поля зрения. Игрок просто не успевает среагировать.
Большинство "тормозов" в играх обусловлено низким FPS, когда кадры не успевают менятся с положенной частотой.
У того же Ламота есть хороший пример на эту тему.


Micah'GF   (2004-08-03 15:20:00) [7]

а объясните мне почему у квакеров чел с fps 60-100 имеет значительное преимущество перед теми у кого 30-50 ?!


parovoZZ   (2004-08-03 12:16:00) [8]

А зачем машину мучать бесполезным занятием?


cyborg   (2004-08-03 11:31:00) [9]

Потому, что больше не требуется.


Evgeniy_K   (2004-08-03 11:16:00) [10]

Да, действительно почему?


Красный молоток   (2004-08-03 11:08:00) [11]

>Я здесь недавно уже высказывался, что для DirectDraw необходимо и достаточно 30 FPS.
Почему?


cyborg   (2004-08-03 09:20:00) [12]


> [2] NikeOLD   (02.08.04 22:37)

Я однако придерживаюсь 33 ;)


NikeOLD   (2004-08-02 22:37:00) [13]

Я здесь недавно уже высказывался, что для DirectDraw необходимо и достаточно 30 FPS. В книге Ламота даже рекомендуется делать искуственную паузу, чтобы всегда было 30 FPS


cyborg   (2004-08-02 21:26:00) [14]

В функции флипинга добавь флаг DDFLIP_NOVSYNC, но не нужно это отключать,полосы пойдут при сильном изменении экрана.


Наверх

Титульная страница Поиск, карта сайта Написать письмо