簡體   English   中英

GraphicsConfiguration與Canvas3D不兼容

[英]GraphicsConfiguration is not compatible with Canvas3D

我在Java應用程序中遇到以下異常:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException:
Canvas3D: GraphicsConfiguration is not compatible with Canvas3D
    at javax.media.j3d.Canvas3D.checkForValidGraphicsConfig(Canvas3D.java:965)
    at javax.media.j3d.Canvas3D.<init>(Canvas3D.java:1032)
    ...etc...

Canvas3D的實例化如下:

GraphicsConfiguration graphicsConfiguration = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas3D = new Canvas3D(graphicsConfiguration);

該代碼在一台計算機(HP dc7900台式機)上正常運行,但在幾台較新的計算機(HP 630筆記本電腦)上則正常運行。 所有正在運行的XP。

API文檔說,此異常表示“指定的GraphicsConfiguration不支持3D渲染”。 這意味着什么? “首選配置”大概是從操作系統獲得的,因此反映了實際可行的方法……但是我有點迷茫。

錯誤報告建議使用以下代碼作為替代:

GraphicsConfigTemplate3D template = new GraphicsConfigTemplate3D();
GraphicsConfiguration gc = GraphicsEnvironment.getLocalGraphicsEnvironment().
getDefaultScreenDevice().getBestConfiguration(template);
Canvas3D c3d = new Canvas3D(gc);

但這並沒有改變任何東西。

通過修改圖形適配器設置或選擇不同的渲染器,似乎已經解決了類似的 問題 ,例如:將位深度減小到16,或者使用-Dj3d.rend=d3d運行java,但是這樣做不會改變任何東西。

事實證明,這僅僅是Java版本的不兼容性:我從1.7降級到1.6,一切正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM