處理Matlab 警告: MATLAB 已通過改用 OpenGL 軟件禁用了某些 高級的圖形渲染


問題描述:可能由於電腦硬件問題,用的Intel HD Graphic 3000 (比較老),而matlab 版本為2017a, 在繪圖時出現了matlab警告:MATLAB 已通過改用 OpenGL 軟件禁用了某些 高級的圖形渲染。出來的圖形效果是鋸齒現象比較嚴重。

查閱matlab 幫助:

http://cn.mathworks.com/help/matlab/creating_plots/resolving-low-level-graphics-issues.html?requestedDomain=www.mathworks.com
發現matlab 里進行圖形渲染的OpenGL實現,有三種方式:硬件加速( hardware-accelerated),基本硬件加速(basic hardware-accelerated)以及軟件實現(software )。默認情況下,matlab嘗試使用硬件加速實現(若圖形硬件支持)。當出現各類圖形問題時,可以切換到軟件實現或者基本硬件加速實現。但這些實現不支持一些高級圖形特性。

為了檢查我電腦matlab以何種實現,在matlab命令窗口鍵入 opengl info,發現使用了軟件渲染,硬件支持等級寫的時none(已知的圖形驅動程序有問題)。

Version: '1.1.0'
                          Vendor: 'Microsoft Corporation'
                        Renderer: 'GDI Generic'
                  MaxTextureSize: 1024
                          Visual: '視覺效果 0x1d,(RGB 24 位(8 8 8)、Z 深度 16 位、軟件、單緩沖區、消除鋸齒 0 次采樣)'
                        Software: 'true'
            HardwareSupportLevel: 'none (已知的圖形驅動程序問題)'
        SupportsGraphicsSmoothing: 0
    SupportsDepthPeelTransparency: 0
      SupportsAlignVertexCenters: 0
                      Extensions: {3×1 cell}
              MaxFrameBufferSize: 0

解決方法

一種方法是對於當前matlab有效(重啟后失效)

(各種OpenGL實現切換方式為:opengl hardwarebasicopengl softwareopengl hardware). 將OpenGL實現改為基本軟件加速,命令窗口鍵入 opengl hardwarebasic 並回車。再次查看OpenGL信息,顯示:

                              Version: '3.1.0 - Build 9.17.10.4459'
                          Vendor: 'Intel'
                        Renderer: 'Intel(R) HD Graphics 3000'
            RendererDriverVersion: '9.17.10.4459'
        RendererDriverReleaseDate: '2016-05-19'
                  MaxTextureSize: 8192
                          Visual: '視覺效果 0x06,(RGBA 32 位(8 8 8 8)、Z 深度 16 位、硬件加速、雙緩沖區、消除鋸齒 4 次采樣)'
                        Software: 'false'
            HardwareSupportLevel: 'basic (已知的圖形驅動程序問題)'
        SupportsGraphicsSmoothing: 1
    SupportsDepthPeelTransparency: 0
      SupportsAlignVertexCenters: 0
                      Extensions: {129×1 cell}
              MaxFrameBufferSize: 4096

另一種方法是保存設置,對以后matlab啟動均有效

命令窗口輸入: opengl('save','hardwarebasic'),重啟matlab.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM