|
|
豆包帮你分析了一下,希望能帮到你
从你这张崩溃报告看,不是账号、服务器或者游戏文件“进不去”那么简单,核心问题是显卡的 DirectX 12 渲染/显示输出在启动阶段崩了。
最关键的是这几行:
LowLevelFatalErrorD3D12Viewport.cpp:554DXGI_ERROR_INVALID_CALLViewport=... Size=(2048,1152)Fullscreen=0AllowTearing=1以及调用栈最后停在:
D3D12Viewport: resentChecked()...FRHICommandContextBase::RHIEndDrawingViewport()这意味着什么游戏是 Unreal Engine + DirectX 12,崩溃发生在把已经渲染好的画面交给 Windows/显卡显示的 Present() 环节,而不是典型的:
- 缺少 DLL
- 游戏文件损坏
- CPU 不支持
- 内存不足
- 登录失败
DXGI_ERROR_INVALID_CALL 更像是当前显卡驱动、窗口/全屏模式、VRR/撕裂设置、第三方覆盖层,或者游戏自身的 D3D12 Swap Chain 状态出了冲突。
Epic 官方开发者论坛里也有 Townfall 的 D3D12Viewport / Present 阶段崩溃案例,Epic 对这类 Present 崩溃明确提到过 OS、DLSS,以及 OBS、RivaTuner、Discord 等会 Hook Swap Chain 的程序都可能成为原因。(Epic Developer Community Forums)
另外,现在是 2026-09-22,Townfall 官方标注的正式发售日是 9 月 24 日,你现在运行的属于提前阶段版本;近期玩家也确实报告了 Townfall 在 PC 上存在启动、卡顿和随机崩溃问题。
我建议你按这个顺序试
1. 第一优先:关闭所有覆盖层/监控软件彻底退出这些程序后再启动:
- MSI Afterburner
- RivaTuner Statistics Server(RTSS)
- NVIDIA Overlay
- Discord Overlay
- Steam Overlay
- OBS
- Xbox Game Bar
- AMD Adrenalin Overlay
- Overwolf
尤其是 RTSS / Afterburner / OBS / Discord。
因为你的崩溃点就在 Present(),这类程序恰好会插入渲染提交链路。
2. 把显示器的 G-SYNC / FreeSync / VRR 暂时关掉你的日志里非常值得注意:
Fullscreen=0AllowTearing=1也就是游戏当前不是独占全屏,而且启用了 Tearing(撕裂)相关路径。
因此建议临时:
Windows 设置 → 系统 → 显示 → 图形 → VRR 关闭
同时:
- NVIDIA:暂时关闭 G-SYNC
- AMD:暂时关闭 FreeSync
- Windows 11:关闭“可变刷新率”
然后再进游戏。
3. 强制把游戏改成“无边框窗口”因为日志已经显示:
Fullscreen=0但它同时走 AllowTearing=1 的 DX12 Present 路径。
如果你能进入配置文件,把显示模式改成:
Borderless / 无边框窗口
并固定成:
1920×1080
先不要用 2048×1152。
尤其你的日志明确显示:
Size=(2048,1152)如果这是系统缩放、虚拟分辨率、驱动自定义分辨率或者显示器特殊模式导致的,换成标准 1920×1080 是很值得测试的一步。
4. 清理 DirectX Shader Cache这个也建议做。
Windows:
设置 → 系统 → 存储 → 临时文件 → DirectX Shader Cache
删除。
然后重启电脑,再启动游戏。
因为 Townfall 最近的 PC 版本确实有人遇到 shader/渲染相关卡顿和崩溃,不过你这一次的具体错误更偏向 Present/SwapChain,所以我不会把“清 Shader”当成第一嫌疑。(Reddit)
5. 显卡驱动做一次“干净安装”如果最近更新过 NVIDIA/AMD/Intel 驱动,或者一直沿用旧驱动,建议:
显卡驱动 → 清洁安装
不要同时乱装多个版本。
如果你是 Intel Arc,尤其值得检查驱动版本,因为 Intel 在 2026-09-18 发布的 32.0.101.9030 已加入对 SILENT HILL: Townfall 的支持。(Deskmodder)
6. 如果你开了 DLSS / FSR / 帧生成 / 光追,先全部关闭先用最保守的:
DX12无边框1920×1080关闭光追关闭帧生成关闭 DLSS/FSR关闭 HDR默认刷新率能进游戏后,再一个一个打开。
有一个非常关键的信息你这个错误不像“配置太低”导致的。
因为如果单纯是显卡性能不够,更常见的是:
Out of Video MemoryDXGI_ERROR_DEVICE_REMOVEDDXGI_ERROR_DEVICE_HUNG而你这里是:
DXGI_ERROR_INVALID_CALL并且明确炸在:
D3D12Viewport: resentChecked()所以我目前会把排查重点放在:
① 覆盖层/注入程序
② G-SYNC / FreeSync / VRR
③ 全屏/无边框 + Tearing
④ 显卡驱动
⑤ Townfall 当前版本自身的 D3D12 Bug
而不是先去怀疑 CPU、硬盘或者内存。
你现在最值得先做的组合彻底退出 RTSS/Afterburner/Discord/OBS → 关闭 G-SYNC/FreeSync → 删除 DirectX Shader Cache → 重启 → 以 1920×1080 无边框启动。
这个组合和你这份日志的对应关系最高。
|
|