2013-04-05 134 views
1

我已经与QmlOgre Qt的例子工作,使其与QT5最后的工作。原来的例子现在看起来很好,并且按照预期行事。我的代码是在这里:https://github.com/advancingu/QmlOgreQML文本渲染问题与自定义OpenGL项目积极

不过,我发现有一个问题,当一个QML文本项被修改,或者通过改变从C++或从样品QML现场一个简单的定时器发出信号。例如,我加了10ms的QML计时器,只是增加一个计数器,并将其分配到文本项。相应的代码如下:https://github.com/advancingu/QmlOgre/tree/issue

现在发生的情况是,在每个帧上,文本项的大多数字符(除了一个或两个)随机消失。哪一个消失随着每一帧而改变,所以存在很多闪烁。显示的字符是正确的,并且位置正确。我的观察是这个问题只出现在一些应用程序执行中,所以它看起来像一个线程问题(QmlEngine运行一个线程处理QML对象绑定,QML绘画有它自己的线程,其中Ogre的生活/必须生活)。

任何人有想法到底为什么这种情况正在发生或如何能解决吗?

  • 食人魔版本:1.8.1
  • 的Qt版本:5.0.1(从目前的5.1开发具有同样的问题)
  • OS /发行版:Ubuntu的12.04 64位
  • 显卡驱动:试图与梅萨9.0的fglrx(均显示它)

回答

1

仍不能确定是什么原因造成的问题,但我找到了一种方法通过在OgreNode创建一个独立的OpenGL上下文被食人魔来解决它。当然,这可能会导致性能恶化,但这比仍不可靠运行的情况要好。我的存储库中的代码将随修正更新。