Разрыв экрана в GDI

У меня есть приложение CFC C/C++ MFC, где движущееся изображение слева направо отображается с StretchDIBits в окне И разрыв экрана происходит в окне.

Пожалуйста, поймите, я говорю не о мерцании, а о разрыве экрана, так как мерцание больше похоже на мерцание всего экрана, в то время как разрыв экрана приводит к тому, что некоторая рассеивающая часть изображения не синхронизируется, когда изображение перемещается вправо или влево, так что движущаяся вертикальная линия временно выглядит прерывистой очень короткий период времени.

Сначала я подумал StretchDIBits была причина, но изменение его на SetDIBitsToDevice не помогло вообще. Так что я подозреваю, что это GDI, и гугл по этому поводу подтвердил мои сомнения.

Я видел эту статью, чтобы решить эту проблему, но по моему мнению, было бы лучше напрямую использовать DirectX.

Итак, на данный момент, я думаю об использовании DirectX или OpenGL, чтобы предотвратить этот разрыв, но не уверен, будет ли этот подход работать или есть какой-то лучший подход. Итак, мой вопрос

  • Решит ли проблема с OpenGL или DirectX эту проблему?
  • Есть ли лучший подход, чем использование OpenGL и DirectX?

Любая подсказка будет оценена.

Чтобы сэкономить время, не рекомендуется не использовать MFC, поскольку это является одним из требований.

0 ответов

Другие вопросы по тегам