Ansys SIwave 2025 R2 在 AMD 显卡下 3D 视图黑屏的解决方案

在使用 Ansys SIwave 2025 R2.4 的时候,遇到了一个比较离谱的问题:3D 视图会显示为黑色

环境如下:

项目 配置
CPU AMD Ryzen 7 9700
GPU AMD Radeon RX 9070 XT
系统 Windows 11
软件 Ansys SIwave 2025 R2.4

具体表现是:打开 SIwave 的 3D 视图后,视图区域可能直接是黑色的。偶尔缩放、拖动或者旋转之后会短暂恢复,但很快又会变黑。截图相关功能也可能触发黑屏。

SIwave 3D 视图黑屏

问题原因

通过 RenderDoc 可以看到,SIwave 的 3D 视图使用的是比较老的 OpenGL 渲染路径。RenderDoc 会提示类似信息:

Context not created via CreateContextAttribs. Capturing disabled.
Only OpenGL 3.2+ contexts are supported. Captures disabled.

Unsupported functions used:
glBegin
glCallList
glColor3f
...

file

RenderDoc 提示中的 glBeginglColor3fglCallList 等接口,基本都是 OpenGL 1.x 时代的东西(这都是文物了吧…..)。2025年的软件竟然还在用上个世纪的接口,这也确实不能怪改成AMD 原生 OpenGL 路径显示不出来(虽然也确实就是它显示不出来)…..

解决方案:使用 Mesa3D 替换 SIwave 的 OpenGL 加载路径

最终的解决方法是:给 SIwave 单独放置 Mesa3D 的 OpenGL wrapper,让 SIwave 优先加载本地的 Mesa opengl32.dll,从而绕过 AMD 原生 OpenGL 路径。

将以下 DLL 放到 SIwave 所在目录:

找到pal1000/mesa-dist-win,下载解压最新的release-msvc版本

在解压后的x64路径下找到dxil.dlllibgallium_wgl.dllopengl32.dll,并复制到siwave.exe所在目录下,{path to ansys}\Ansys\ANSYS Inc\v252\AnsysEM

修复效果

直接通过原来的 SIwave 快捷方式启动,3D 视图可以正常显示,不再黑屏,旋转、缩放、查看 PCB 3D 视图也恢复正常。

file

总结

这个问题本质上不是 SIwave 没有绘制,也不是高 DPI 或窗口控件问题,而是 SIwave 的老 OpenGL 3D 视图和 AMD 原生 OpenGL 显示路径之间存在兼容性问题

最终解决方案是:

  1. 给 SIwave 单独放置 Mesa3D 的 opengl32.dll / libgallium_wgl.dll / dxil.dll
  2. 让 SIwave 优先加载本地 Mesa OpenGL wrapper
  3. 绕过 AMD 原生 OpenGL ICD

这样可以在不修改系统 OpenGL、不更换显卡驱动、不影响其他软件的情况下,单独修复 SIwave 的 3D 视图黑屏问题。但是代价就是可能会影响些许3D显示性能

现在都 6202 年了,Ansys 这么大的软件,SIwave 的 3D 视图竟然还在使用这么老的 OpenGL 路径,难崩。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇