Matlab openGL警告

1sbrub3j  于 2022-12-23  发布在  Matlab
关注(0)|答案(3)|浏览(476)

我的任务是升级许多旧版本Matlab/Simulink中的遗留模型和脚本,并使其在R2018 b中顺利运行。除其他要求外,我不允许在执行.m脚本或Simulink模型时发出任何警告。这通常很繁琐,但很容易遵守。
但是,有一个具体的警告,Matlab没有给予我提示可能的来源:
警告:MATLAB切换到软件OpenGL后禁用了一些高级图形渲染功能。有关详细信息,请单击此处
该链接打开Matlab帮助页面,标题为Resolving Low-Level Graphics Issues,其中描述了我没有发现(或至少没有注意到)的问题
我注意到我运行的许多脚本都会创建和关闭地物,但这是按程序完成的。我无法将此警告与某些特定函数或功能关联起来。我在Windows Server计算机上工作。
有人知道如何缩小Simulink块可能导致此警告的函数类型吗?

h79rfbju

h79rfbju1#

正如datenwolf和Ander所指出的,首先要尝试的是更新驱动程序,如果这不起作用,并且你唯一的问题是你得到了警告,但你的图形仍然渲染良好,那么你有两个其他的选择可以尝试。
首先,你可以使用opengl修改你的OpenGL渲染参数。下面的命令会将你的参数设置为'software',并保存该设置以备将来使用:

opengl('save', 'software');

或者,您也可以尝试suppress that particular warning message。在收到警告后,对warning函数发出以下调用:

w = warning('query', 'last');

w.identifier字段将为您提供警告消息的ID,我认为在本例中为'MATLAB:hg:AutoSoftwareOpenGL',然后您可以将以下行添加到您的startup.m文件中,以便每次打开MATLAB时都抑制此警告:

warning('off', 'MATLAB:hg:AutoSoftwareOpenGL');
nafvub8i

nafvub8i2#

为您的GPU安装原始供应商驱动程序。默认情况下,Windows安装的驱动程序不完全支持OpenGL。根据您拥有的GPU,直接从Intel、AMD或NVidia的网站下载驱动程序包。
如果您没有GPU,例如在虚拟机中运行时,那么您无法避免该警告,因为Matlab没有其他选择,只能求助于它附带的软件OpenGL实现。

  • 除了确保运行Matlab的系统确实具有适当的OpenGL支持之外,您对此无能为力!*
nx7onnlm

nx7onnlm3#

我花了很长时间才得到它,所以我把你放在这里,以防它帮助我如何设法在Linux中激活openGL:
1.如果您还没有这样做(这在其他问题中很常见),请从MATLAB中重命名libstdc++库:第一个月
1.创建此链接:sudo ln -s /usr/lib/x86_64-linux-gnu/dri/ /usr/lib/
1.运行export MESA_LOADER_DRIVER_OVERRIDE=YOUR_DRI_DRIVER;matlab -desktop -nosoftwareopeng您的DRI驱动程序将是/usr/lib/dri中的一个文件,删除“_dri”(在我的例子中是AMD Vega图形卡的“radeons”驱动程序)。
1.使用以下命令从终端运行MATLAB:export MESA_LOADER_DRIVER_OVERRIDE=_YOUR_DRIVER_HERE_;matlab -desktop -nosoftwareopengl. YOUR_DRIVER_HERE 应该是您的驱动程序,在我的情况下radeonsi。
1.使用info = rendererinfo检查openGL
1.如果出现问题,您可以在终端中看到哪个库负责。执行4)和5)我发现了我必须纠正的问题,如果您有其他问题,我也可以这样做。
为了使它始终正确运行,我将export MESA_LOADER_DRIVER_OVERRIDE=YOUR_DRI_DRIVER放在运行matlab的脚本(_YOUR_MATLAB_FOLDER/bin/matlab)的开头,尽管我认为它也可以设置为环境变量。
希望这对你有用。

相关问题