Подскажите книгу С++ WinApi Direct 2d
Здраствуйте подстажите кини по дирексу 2д.
Прочитав книгу Н. А. Литвиненко "Программирование WinApi-приложений на C++" где неплохо была описанна библиотека JDI. Я написал программу каторая виализировалла бинарный фаил узкоспециализированной графической программы. Всё вырисовывается и работает, но проблема в том что я вижу как перерисовывается окно. Особенно это стало ввидно при подключения скролинга и перемещения ползунка. Станцами с бубном и перерисовываея часть окна функцией InvalidateRect, я смог убрать раздражающую глазу перерисовки анимации выбора объекта но в те моменты где нада перерисовать всё окно, видно как происходит стирание и рисование сверху вниз. Это происходит конешно очень быстро но всё таки хотелось от этого избавится. Прочитав статью https://learn.microsoft.com/ru-ru/windows/win32/direct2d/comparing-direct2d-and-gdi я понил что дирикс 2d привосходит старую JDI.
На JDI я пытался полоьзоватся функциями CeateCompatibleDC и BitBlt, чтоб в начале создать совместимый контекст устройства наримовать на нём а потом пере копировать на свой, но это привело картинка появляется морганием.
Вобщем подскажите кнуигу C++ WinApi Direct 2d
Попробуй оптимизировать код GDI, может тогда и Direct2D не понадобится.
От видимого рисования можно избавиться используя буферизацию - например, рисовать не сразу в окне, а сначала в bitmap (равный размерам окна) и потом уже этот bitmap выводить в окно. В результате все что ты рисуешь будет выводиться на экран одновременно, а не по очереди. А от стирания фона можно избавиться перехватом сообщения WM_ERASEBKGND.