Форум: "Основная";
Текущий архив: 2004.01.29;
Скачать: [xml.tar.bz2];
Внизвывод графики через 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c