2013-04-05 132 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上下文被食人魔來解決它。當然,這可能會導致性能惡化,但這比仍不可靠運行的情況要好。我的存儲庫中的代碼將隨修正更新。