Skip to content

v3.1 — 修复 AMD 平台黑屏

Latest

Choose a tag to compare

@Lerrenp Lerrenp released this 12 Sep 15:33
· 1 commit to main since this release
ce5430d

修复 AMD 平台黑屏 (Issue #3)

本版本修复了 AMD 显卡(如 RX 7800 XT)上启动后黑屏、无法交互、拖动残影的问题。

根因与修复

问题 修复
WS_EX_LAYERED 窗口未调用 SetLayeredWindowAttributes,行为未定义 补齐 LWA 调用,移除 DwmExtendFrameIntoClientArea 混用及 dwmapi 残留
FLIP_DISCARD 交换链与分层窗口不兼容 改用 DXGI_SWAP_EFFECT_DISCARD(BitBlt 模型)
SetWindowDisplayAffinity 返回值被丢弃,存在自捕获反馈环风险 返回值落地 + 回读验证日志
无焦点窗口收不到 Esc、首帧黑闪 新增 WS_EX_NOACTIVATE + Ctrl+Alt+M 全局退出热键;首帧渲染后再显示;首帧抓取 1000ms 超时

显示效果

模糊算法与着色器零改动(optical_model.* / blur_shader.h 逐对象哈希不变),单测 43 断言全过,显示效果与 v3 完全一致。

使用

# 1. 生成/更新 config.json
.\MyopicDefocusConfig.exe

# 2. 启动滤镜
.\MyopicDefocus.exe
# 退出: Ctrl+Alt+M(Esc 兜底)

说明

  • 修复方向与 @saierXP 在 PR #4 中的诊断一致,致谢其贡献
  • 感谢报告者在 issue #3 提供的详细硬件信息;请在 AMD 实机上验证本版本,关注日志中 SetWindowDisplayAffinity 一行并反馈结果

Full Changelog: v3...v3.1