我知道这个问题不仅与Matlab有关,而且我在问如何在Matlab中实现特定的解决方法。
我在配备SuSE Leap 15.0的Lenovo P52上运行Matlab(2019a,更新3,但也发生在2018b)。它有两个图形卡,一个板载Intel卡和一个Nvidia卡:
$> lspci -nnk |grep -EA 3 "VGA"
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:3e9b]
Subsystem: Lenovo Device [17aa:225f]
Kernel driver in use: i915
Kernel modules: i915
--
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1cba] (rev ff)
Kernel modules: nouveau, nvidia_drm, nvidia
70:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader [10ec:525a] (rev 01)
Subsystem: Lenovo Device [17aa:225f]
如您所见,我正在使用Intel卡。
Matlab在此设置下运行良好,直到运行appdesigner
或附加浏览器(或主窗口中Apps
-Tab中的任何组件)为止。 appdesigner
窗口的内容仅在更改窗口大小时出现,并且任何更改仅在调整大小后才会显示(可能还有其他可能会强制显示内容,但是我没有想到
我猜所有这些组件都在内部使用chrome浏览器。本机(即Matlab不附带)chrome浏览器在我的系统上显示(几乎)相同的行为。但是,启动时会引发错误:
$> chromium
[32273:32273:0703/095509.613762:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command
显然,此问题与Matlab无关。但是,如果我以chrome
标志开始--disable-gpu
,它将按预期工作。
与Malab有关的问题是:有什么方法可以告诉Matlab使用此标志调用其内部镶边吗?
答案 0 :(得分:1)
如果updating drivers无法解决我遇到的许多渲染问题,通常可以通过调整opengl
设置来解决。假设它默认为hardware
,您可以尝试将其设置为software
或hardwarebasic
(一组简化的图形功能),看看是否有帮助。
...并且不要忘记,您可能需要save the new settings参加以后的会议:
opengl('save', 'hardwarebasic');