我在我的智慧結束這個錯誤。任何有關如何追蹤它的建議,將不勝感激。QQuickItem不會渲染
背景:
我一直在試圖實施OGRE3D視圖中QT5一個QQuickItem。 有一個例子(qmlogre)顯示它是可能的。示例代碼需要 對Win32進行大量的重構,而不僅僅是演示。這個例子只是一個概念證明。
問題:
當我打電話的食人魔代碼(場景管理:: createEntity)的具體方法Qt的項目將不再呈現。如果我將該方法的調用註釋掉,它會呈現正常。如果我註釋掉方法中的代碼並將它替換爲'return 0',它不再呈現。有問題的代碼不是圖形相關的(它將一個3d實體加載到內存中)。
我已經試過:
- 經過食人魔日誌例外情形所示。
- 重定向Qt日誌記錄到文件以查看警告/異常。
- 檢查'this'指針。我動態地將'this'轉換爲它所運行的類的入口,並接收到一個非空指針。所以rtti認爲這是一個有效的類指針。
- 爲了確保Qt代碼是正確的,我將qmlogre示例中的自定義渲染代碼替換爲渲染平面彩色矩形的代碼。
- 我不會出現內存不足
我可以運行的東西這個龐大而複雜的valgrind下?是否有類似的工具有用? (編譯器是Mingw,由Qt在Windows 7下載v5.1提供)
我知道Qt5默認是線程化的。你怎麼知道你是否超出你的線程堆棧大小?
食人魔不是線程安全的。 Qt代碼可能同時在不同的線程上運行並崩潰食人魔嗎?我的代碼由來自QML的事件調用(它位於Qt插槽中)。
您是否嘗試過在食人魔配置中使用不同的渲染系統?目前爲止,您的項目與特殊的RS沒有多大關係。 – dhein
Qt使用OpenGL進行渲染。我不確定如何在同一個窗口中混合使用OpenGL和DirectX。 – Jay
我的意思是,也許當前食人魔配置的可執行性有問題,而且你期待什麼? – dhein