История изменений
Исправление X512, (текущая версия) :
Не было в 85-м вычислительной мощности под дополнительный экранный буфер. И в 95-м почти не было.
В играх на DirectDraw так делали и ничего.
Не 85-й год, времени для отрисовки хватит в большинстве случаев.
И опять можно вспомнить про то, что Линукс — не ОС реального времени. Композиторы пишут так, что в случае если что-то не успеет, то кадр будет пропущен и будет показано содержимое предыдущего кадра. В wlroots и dwm.exe вроде так. Во времена без композитора была аппаратная команда видеокарты копирования части видеобуфера или между несколькими видеобуферами.
Это всё прекрасно и замечательно, но так как под иксами тулкиты выполняют вывод в экранную поверхность ОДНОЙ командой, то там и костыль в виде EndPaint не нужен.
Нужен хотя бы для того, чтобы знать когда присылать сообщение о следующей перерисовке.
это его официальное, документированное предназначение
Не все замыслы разработчиков попадают в официальную документацию. И ими всё равно рекомендовалось пользоваться в WM_PAINT.
Ну во времена Windows 1.0 другим способом организовать отрисовку не представлялось возможным.
Можно было просто сделать GetDC(wnd)
и планировать рисование самому. Некоторые кривые программы так делали. Жёсткой необходимости в BeginPaint/EndPaint тогда не было.
Исходная версия X512, :
Не было в 85-м вычислительной мощности под дополнительный экранный буфер. И в 95-м почти не было.
В играх на DirectDraw так делали и ничего.
Не 85-й год, времени для отрисовки хватит в большинстве случаев.
И опять можно вспомнить про то, что Линукс — не ОС реального времени. Композиторы пишут так, что в случае если что-то не успеет, то кадр будет пропущен и будет показано содержимое предыдущего кадра. В wlroots и dwm.exe вроде так.
Это всё прекрасно и замечательно, но так как под иксами тулкиты выполняют вывод в экранную поверхность ОДНОЙ командой, то там и костыль в виде EndPaint не нужен.
Нужен хотя бы для того, чтобы знать когда присылать сообщение о следующей перерисовке.
это его официальное, документированное предназначение
Не все замыслы разработчиков попадают в официальную документацию. И ими всё равно рекомендовалось пользоваться в WM_PAINT.
Ну во времена Windows 1.0 другим способом организовать отрисовку не представлялось возможным.
Можно было просто сделать GetDC(wnd)
и планировать рисование самому. Некоторые кривые программы так делали. Жёсткой необходимости в BeginPaint/EndPaint тогда не было.