Вниз
Скачать: 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
1-93488
snake1977
2004-01-15 11:14
2004.01.29
TThread + TTimer


3-93396
Gorlum
2003-12-30 12:56
2004.01.29
По заголовку


7-93704
Balkon
2003-11-13 10:01
2004.01.29
Как определить коорд. видимой части экрана, не закрытой Taskbar?


3-93338
NickNaz
2004-01-04 20:15
2004.01.29
отчет Quick Rep


14-93672
DimKa Nevidimka
2004-01-05 11:09
2004.01.29
И снова в бой....




   Наверх