C# как синхронизировать вывод изображения (Bitmap) с частотой обновления монитора?

Проблема в том, что приложение выводит изображение (Bitmap) на монитор в течение,например, 1/75 секунды (или еще меньше), но при этом на мониторе@75Гц оно может не отображаться, если начало рендеринга не совпало с началом обновления монитора. Тогда как мне требуется, чтобы в таком случае картинка отображалась с минимальным интервалом с которым работает монитор.
Приложение использует GDI+. Есть ли в нем механизм синхронизации с монитором?
Если такого механизма нет, то может есть более-менее простой способ реализации этого на C# совместно с DirectX, в котором эта фича имеется. Т.е. хотелось бы пример вывода двумерного изображения в окно DirectX из C# c FPS > 70.

UPD. Хочу акцентировать внимание на функционале - программа не выводит поток кадров, которые должны двигаться без мерцания и плавно, как в большинстве решаемых графических задач. Нужно выводить всего 2 кадра: 1 кадр с изображением на время периода между двумя аппаратными обновлениями монитора , а на следующем обновлении стирать изображение цветом фона. Таким образом достигается постоянная минимальная длительность изображения на экране. И для этого должна работать вертикальная синхронизация для каждого из двух кадров.
Двойная буферизация, на сколько мне известно не решает эту задачу.
  • Вопрос задан
  • 964 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы