Цитата(Dr.Alex @ May 14 2015, 22:27)

простой диалог на MFC, в функции OnPaint() вышвыриваем кадр функцией BitBlt().
В любой относительно современной винде (Vista и выше) весь gdi рисуется через т.н. compositor. Все что вы рисуете из программы, не попадает напрямую в фреймбуфер, а сначала в виде команд или битмапов подается на вход compositor'а, который уже сводит итоговую картинку (с двойной буферизацией или без — это зависит от множества факторов), стараясь при этом избегать фликера. В сухом остатке здесь то, что отрисовкой вы по факту управлять не можете, и между подачей команды BitBlt и появлением соответствующих пикселов на экране проходит некий слабопредсказуемый промежуток времени.
Если вам нужен полный контроль, то выводите графику через DirectX или более низкоуровневые API (Mantle, DX12 и у nvidia что-то еще было).
Да, еще. BitBlt сколь я себе помню — медленный. StretchDiBits был побыстрее, но я такой графикой развлекался последний раз еще в институте (>15 лет назад), так что могу и путать.
Сообщение отредактировал slanted - May 17 2015, 11:03