Qt5.7 + D2D渲染引擎。 画面闪烁,几乎没图像显示

最近在使用Qt封装播放器。播放器在封装D2D的时候出了问题。主要问题为渲染的时候大部分时候是白色的,有小部分时间可以看到渲染出画面。

 

实际上,如果要使用Qt封装底层的渲染引擎,需要重写函数paintEngine() 返回空

/* WA_PaintOnScreen: To render outside of Qt's paint system, e.g. If you require
 * native painting primitives, you need to reimplement QWidget::paintEngine() to
 * return 0 and set this flag
 * 重要, 否则画面闪烁,无法渲染!!!
 */
QPaintEngine* paintEngine() const Q_DECL_OVERRIDE {
    return nullptr;
}

代码就不放了,可以参考别人的开源大作:QtAV

posted @ 2017-08-25 11:03  Rison13  阅读(889)  评论(0编辑  收藏  举报