Разрыв экрана в GDI
У меня есть приложение CFC C/C++ MFC, где движущееся изображение слева направо отображается с StretchDIBits
в окне И разрыв экрана происходит в окне.
Пожалуйста, поймите, я говорю не о мерцании, а о разрыве экрана, так как мерцание больше похоже на мерцание всего экрана, в то время как разрыв экрана приводит к тому, что некоторая рассеивающая часть изображения не синхронизируется, когда изображение перемещается вправо или влево, так что движущаяся вертикальная линия временно выглядит прерывистой очень короткий период времени.
Сначала я подумал StretchDIBits
была причина, но изменение его на SetDIBitsToDevice не помогло вообще. Так что я подозреваю, что это GDI, и гугл по этому поводу подтвердил мои сомнения.
Я видел эту статью, чтобы решить эту проблему, но по моему мнению, было бы лучше напрямую использовать DirectX.
Итак, на данный момент, я думаю об использовании DirectX или OpenGL, чтобы предотвратить этот разрыв, но не уверен, будет ли этот подход работать или есть какой-то лучший подход. Итак, мой вопрос
- Решит ли проблема с OpenGL или DirectX эту проблему?
- Есть ли лучший подход, чем использование OpenGL и DirectX?
Любая подсказка будет оценена.
Чтобы сэкономить время, не рекомендуется не использовать MFC, поскольку это является одним из требований.