解决方法
COMSOL 4.4 及更高版本
最快的解决方法是切换为软件渲染:
启动 COMSOL Multiphysics。
在 COMSOL Desktop 中打开“首选项”对话框:
Windows 用户:从文件菜单中选择首选项。
使用 COMSOL 4.0 到 4.3b 版本的跨平台(Mac 和 Linux)用户:从主菜单中选择选项 > 首选项。
在首选项窗口中,选择图形和绘图窗口(4.4 及更高版本)或图形(4.0 到 4.3b 版本),并将渲染选项设为软件。
单击确定并关闭 COMSOL Desktop。请注意,以下屏幕截图来自 COMSOL Multiphysics 5.2a。
请确保在运行时至少使用 32 位颜色深度,COMSOL 不支持 16 位颜色深度。
COMSOL Multiphysics 利用硬件加速渲染来显示几何、网格和绘图可视化,需要支持 OpenGL 1.3 或 DirectX 9 的显卡才能使用硬件加速渲染,显卡还必须支持 24 位颜色深度。
默认情况下,系统将使用 OpenGL 渲染。COMSOL Multiphysics 第一次启动时,将检测显卡是否支持必要的功能。如果不支持,系统将尝试回退到使用内置的软件渲染,通常,这样可以正常工作,但速度比硬件渲染慢得多,且流畅度也会降低。如果无法自动更改渲染方式,则必须手动更改。如果您通过远程桌面或 X 服务器运行 COMSOL,硬件 (OpenGL) 渲染通常不起作用。因此,我们建议您在本地控制台或显示器上运行 COMSOL Desktop。
如果 OpenGL 渲染不起作用,并且您对软件渲染的性能不满意,可以尝试使用 DirectX 渲染器。您可以在“选项”菜单的“首选项”对话框的“图形”类别中切换渲染器。此外,您还可以通过在启动命令中使用参数,强制 COMSOL Multiphysics 使用特定的渲染器:
comsol -3drend ogl(启动并使用 OpenGL 渲染)
comsol -3drend dx9(启动并使用 DirectX 渲染)
comsol -3drend sw(启动并使用软件渲染)
请注意,DirectX 仅适用于 Windows。为了在 Windows 上启用软件渲染,可执行以下操作:
1. 右键单击 COMSOL Multiphysics 快捷方式并选择属性。
2. 在快捷方式页面的目标行中附加 –3drend sw ,如下图所示(添加的选项用红色下划线标出):
故障排除
显卡在首次发布后,其驱动程序通常会更新,性能会得到提升,因此,如果您遇到图形问题,我们建议您先下载并安装最新的显卡驱动程序。
1. 为了确保在 Linux 上适当加速三维图形渲染,请安装专用的 Linux NVIDIA (nvidia) 或 ATI (fglrx) 图形驱动程序,而不是使用随 X 服务器提供的驱动程序。
2. 如果您在使用三维渲染时遇到崩溃或其他问题(如出现斑块或滞后),可以创建渲染器调试日志以帮助解决问题。将以下命令行选项添加到 COMSOL 启动命令
-Dcs.3dlogfile=C:\temp\comsolgraphics.log -Dcs.3dlogflush=1 -Dcs.3dloglevel=debug
对于 Windows,这些选项可以添加到 COMSOL 快捷方式目标中。如果您没有 temp 目录,请在 C: 下手动进行添加,因为运行带有额外选项的 COMSOL 时不会自动创建该目录。
对于 Mac OS X 和 Linux,应通过以下方式在命令行中给出这些选项:
-3dlogfile ~/comsolgraphics.log -3dlogflush 1 -3dloglevel debug
对于某些 Linux 发行版,特别是 openSUSE,使用 GTK2 主题可能是造成图形问题的原因,请尝试切换为其他 GTK2 主题。
如果在默认安装了 Nouveau 驱动程序的较新 Linux 平台(例如:Debian 6.0 和 Red Hat Enterprise Linux 6.0)上,COMSOL 和其他三维图形软件发生崩溃或无法使用 OpenGL 启动,您可以参考以下建议,了解如何安装专有的 ATI 或 NVIDIA 驱动程序。
示例:在 Red Hat Enterprise Linux 6.0 上安装 NVIDIA 专有驱动程序以替代 Nouveau 驱动程序:
从 NVIDIA 站点下载当前的 NVIDIA 驱动程序,例如:NVIDIA-Linux-x86_64-319.17.run
然后创建以下文件:
/etc/modprobe.d/nvidia-installer-disable-nouveau.conf
其中包含以下内容:
blacklist nouveau
options nouveau modeset=0
编辑文件 /boot/grub/grub.conf,并在内核行附加 nomodesetrdblacklist=nouveau ,如下所示
title Red Hat Enterprise Linux 6 (2.6.32-19.el6.x8664)
root (hd0,0)
kernel /vmlinuz-2.6.32-19.el6.x8664 ro root=/dev/mapper/vgrhel6-ROOT rdLVMLV=vgrhel6/ROOT rdNOLUKS rdNOMD rdNODM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet nomodeset rdblacklist=nouveau
下一步,重新启动。然后运行:
sudo sh NVIDIA-Linux-x86_64-319.17.run
回答相关问题,您最终应该会得到一个适当的 xorg.conf 文件。当您进入 X 桌面后,就可以使用 nvidia-settings 来改进该文件。
欢迎访问以下链接,了解在 Debian 6 上安装 NVIDIA 驱动程序的相似过程 wiki.debian.org/NvidiaGraphicsDrivers
COMSOL 3.5a
Linux 用户:通过在 COMSOL 启动命令中添加 ´-mesa´ 选项,可以在启动 COMSOL Multiphysics 时使用 Mesa 软件渲染:
comsol -mesa
另请参见