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

Вниз

вывод графики через bitblt: мелькание (синхронизация?)   Найти похожие ветки 

 
_none_   (2004-01-16 15:29) [0]

при выводе картинок bitblt с большим fps получается некрасивый эффект мелькания.. как убрать бяку? вроде с помощью верт. синхронизации?


 
y-soft   (2004-01-16 15:36) [1]

И каким путем Вы собираетесь добраться до вертикальной синхронизации из WinAPI? Это можно сделать только в DirectX и OpenGL.

А так - двойная буферизация, но высокий FPS не гарантируется...


 
_none_   (2004-01-16 15:56) [2]

буферизация не нужна - отрисовываются уже готовые битмапы..

wm_erasebackground отключил, все равно...


 
_none_   (2004-01-16 16:00) [3]

может быть можно синхронизировать время вывода и желаемую частоту?
отрисовка у меня в onidle приложения...


 
Amoeba   (2004-01-16 16:01) [4]


> буферизация не нужна

Уверен? Проверял?
IMHO


 
y-soft   (2004-01-16 16:17) [5]

>_none_ ©

Так речь о двойной буферизации

Причина мелькания в том, что отрисовка не успевает завершится за один кадр. Значит битмап большой, либо подготовка долгая. Иногда в таких случаях применяют следующий прием "от противного"- специально отрисовывают не весь битмап, а только его изменившиеся части

А я лично предпочитаю DirectX в оконном режиме с подготовкой изображения во внеэкранных буферах - дает максимально возможную скорость...


 
y-soft   (2004-01-16 16:20) [6]

>>_none_ ©

И еще - компромисный вариант - использование DIB-секций.
Кстати, возможно отрисовка в OnIdle и есть причина мелькания - т.к. получает время по остаточному принципу...


 
_none_   (2004-01-16 16:40) [7]

to [y-soft] к сожалению, мне directx нельзя использовать по специфике задачи (хотя и хочется).

у меня изменяются все части :)

попробую сделать синхронизацию времени отрисовки и fps, может что и выйдет
а dib-секции - что имеется в виду?



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

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

Наверх




Память: 0.45 MB
Время: 0.006 c
14-93660
@ndrey
2004-01-08 01:31
2004.01.29
как удалённо (по сети) выключить комп?


7-93719
Владимир Березин
2003-11-10 21:49
2004.01.29
Призраки в корзине


6-93616
Dmitry The Wing
2003-11-24 10:44
2004.01.29
Как соединить модемом две машины? (дозвон, прием звонка)


1-93489
Konstantin
2004-01-12 15:18
2004.01.29
Что за загадочный FPower10?


1-93527
Sasha Shamray
2004-01-17 23:24
2004.01.29
Передача в качестве параметра динамичесского массива





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский