V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
CCtry
V2EX  ›  全球工单系统

遇到了一个神奇的画面渲染问题

  •  
  •   CCtry · 2018-10-11 17:27:31 +08:00 · 4839 次点击
    这是一个创建于 2237 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前天更新了 1803,结果有很多游戏打开以后出现无响应,其中的部分可以听到音乐,也可以点击按钮,但是看不到画面(黑屏或者白屏)。

    挑了两个游戏想用 VS 调试一下看看问题出在哪,结果发现 VS 也变成了白屏……

    好不容易找了另一台电脑来分析 dump 文件,发现调用栈都停在了 WaitForSingleObject 这个 win32 函数上。

    我初步推断这个函数之所以不能返回是因为 UI 线程出现了死锁。

    对着 windbg 分析了半天也没看出症结在哪,所以干脆就把系统重装了。结果一切又变正常了。

    昨天晚上想打 dota,结果同样的问题又出现了……

    隐约记得死锁发生在 nvd3dum.dll 里面,觉得有可能是 directX 的问题。正好 dota2 支持使用 vulkan 来渲染,更改以后果然好了,可惜其它游戏不支持自己选择渲染 api,问题依然没有解决。

    想着会不会是 nv 显卡的问题,于是打开 nv 控制面板去改默认显卡。nv 控制面板里面有一项是提供 3D 效果的预览,结果每次切到那里就无响应。这样基本可以确认是 DX 渲染的问题。

    到此为止就卡住了,完全没有任何思路。也去找了各种诊断修复工具但都没什么用。不过可以判断是 DX9 坏掉的几率比较大,因为目前出问题的游戏大多都是用 DX9 渲染的,dota2 的默认渲染 api 也是 DX9。但是使用 DX9 的游戏也有没问题的。
    (不过 VS 和从应用商店下的 windbg 为啥也会出问题呢??)

    发到这里是想请各位高手来给小弟开拓一下思路,看看有什么办法能搞定这个问题。在此先谢谢各位。
    3 条回复    2018-10-11 17:58:10 +08:00
    LuffyGu
        1
    LuffyGu  
       2018-10-11 17:44:22 +08:00
    你是高手,我们是小弟
    lastpass
        2
    lastpass  
       2018-10-11 17:55:49 +08:00 via Android
    →_→这不仅仅是 1803 有这个问题,更老的版本也有这个问题。
    (sb win10)
    目前我找到的解决办法是:进任务管理器,点击游戏进程,选择前置,不要选择切换。
    ysc3839
        3
    ysc3839  
       2018-10-11 17:58:10 +08:00
    感觉是显卡驱动的问题。VS 和 WinDbg 有问题是因为它们都使用了 WPF。WPF 使用 Direct2D 渲染。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3568 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 10:53 · PVG 18:53 · LAX 02:53 · JFK 05:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.