Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
14-93627
Avenger[NhT]
2004-01-08 15:19
2004.01.29
Avl - Api Visual Library


1-93532
leonidus
2004-01-17 22:53
2004.01.29
Что значит ошибка I/O error 32 ?


3-93368
hfa
2004-01-02 13:01
2004.01.29
Oracle Servers


9-93319
Dead Moroz
2003-07-01 03:42
2004.01.29
Движок для текстового 3D_Shooter-а


1-93420
jiurajhgjhgty
2004-01-16 19:53
2004.01.29
OleContainer и excel




   Наверх