Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

DDraw VSync   Найти похожие ветки 

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

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


 
cyborg ©   (2004-08-02 21:26) [1]

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


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

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


 
cyborg ©   (2004-08-03 09:20) [3]


> [2] NikeOLD   (02.08.04 22:37)

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


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

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


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

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


 
cyborg ©   (2004-08-03 11:31) [6]

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


 
parovoZZ ©   (2004-08-03 12:16) [7]

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


 
Micah'GF ©   (2004-08-03 15:20) [8]

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


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

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


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


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


> Evgeniy_K   (03.08.04 11:16) [5]

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


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

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

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


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

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


 
NikeOLD   (2004-08-03 20:08) [13]

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

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


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

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

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



Страницы: 1 вся ветка

Текущий архив: 2004.12.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
1-1101227757
fashionguide
2004-11-23 19:35
2004.12.05
Вопрос с работой курсора


1-1101213751
Max Ivanych
2004-11-23 15:42
2004.12.05
Как работает ShellAPI с электронной почтой?


3-1099645317
Pavor
2004-11-05 12:01
2004.12.05
Как побороть "Directory is controlled by other .NET file"?


3-1099560939
Kat
2004-11-04 12:35
2004.12.05
Если затем открыть запрос надо ли делать IBQuery.SQL.Clear ?


14-1100589983
ИМХО
2004-11-16 10:26
2004.12.05
1986 год: честно ли Динамо Киев стало чемпионом СССР?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский