资讯详情

资讯详情

Tesla P40转WDDM+GTX 750亮机卡玩原神实战

手里有一张24GB显存的Tesla P40还有一块吃灰的GTX 750显示器只有一根HDMI线——这大概是很多折腾党都遇到过的尴尬局面。P40是数据中心计算卡算力不弱、显存管够二手价格也香但它身上一个视频接口都没有单独插上显示器就是一片黑。大多数人到这一步就收手了觉得这卡只能拿来做深度学习推理或者视频转码。实际上只要把P40从TCC模式掰成WDDM模式再让GTX 750负责输出画面这套组合完全可以在Windows下跑游戏原神就是一个很典型的测试场景。这篇内容讲的就是我在这套组合上踩过的坑驱动怎么装、注册表改哪一项、亮机卡怎么配合、原神怎么指定到P40上渲染、散热和供电有哪些硬条件。适合手里有闲置计算卡、喜欢折腾混合显卡输出、又不想花大价钱买游戏卡的人参考。整套方案不复杂但细节上的坑比想象中多下面按实际操作顺序拆开讲。1. 为什么要把一张没有视频接口的计算卡塞进游戏主机1.1 P40的硬件底子与二手市场的定位Tesla P40用的是GP102核心和当年旗舰游戏卡同宗同源只是频率被压得很低散热也做成了被动式。它的核心规格放在下面这张表里方便对照。项目参数核心GP102CUDA核心数3840显存24GB GDDR5显存位宽384-bit显存带宽346 GB/s单精度算力约12 TFLOPSTDP250W供电接口EPS 8pinCPU 8pin规格视频输出无散热方式被动散热从纸面看它的单精度算力和显存容量都挺唬人但GDDR5的带宽放在今天不算宽裕核心频率也低游戏性能和同核心的游戏卡有明显差距。二手市场上这卡的价格常年在一个比较低的区间原因很简单它没有输出接口普通用户买回去点不亮只有做计算或者愿意折腾的人才会接盘。我就是后者。1.2 大显存在游戏场景里的真实意义24GB显存玩游戏听起来很夸张实际体验里确实有好处。原神这种游戏本身显存占用不高1080p高画质大概2到3GB就够了P40的显存根本用不完。真正有意思的是那些显存占用大的场景比如同时开游戏、录屏、挂直播推流或者玩一些支持高清材质包的游戏显存余量充足就不会频繁爆显存导致卡顿。不过要说清楚显存大不等于帧数高P40的游戏性能大致在GTX 1070到GTX 1080之间具体看游戏对频率和带宽的敏感程度。原神对显卡要求不高这个性能段跑1080p高画质是够用的。1.3 这套组合适合什么人这套方案不适合纯小白也不适合追求省心的人。它适合的是手里已经有P40或者能低价收到、愿意花一两个小时折腾驱动和注册表、并且能接受被动散热改造的玩家。如果你只是想在1080p下流畅玩原神买一张普通的游戏卡更省事。但如果你已经有一张计算卡闲置或者想用低成本方式体验大显存多GPU混合输出这套组合的可玩性很高。2. TCC和WDDMP40在Windows里隐身的真正原因2.1 两种驱动模型的本质区别Tesla卡在Windows下默认跑在TCC模式全称是Tesla Compute Cluster。这个模式是给数据中心和计算集群用的显卡只负责计算任务不参与图形显示DirectX和游戏根本看不到它。WDDM则是Windows显示驱动模型普通游戏卡都跑在这个模式下系统会把它当作图形适配器来调度。两者的核心差异可以看下面这张表。对比项TCC模式WDDM模式主要用途计算、CUDA、深度学习图形渲染、游戏、显示DirectX支持不支持支持是否出现在设备管理器显示适配器是但标记为TCC是正常显示是否出现在显卡控制面板通常不出现出现是否参与游戏渲染不能可以显存管理方式计算型分配系统统一管理P40默认TCC不是厂商故意设限而是这类卡出厂定位就是计算设备数据中心不需要它输出画面。问题在于普通用户想在Windows下拿它玩游戏就必须手动切到WDDM。2.2 切换模式为什么不能靠一条命令搞定在Linux下用一条命令就能切换计算卡的显示模式Windows下没有这么方便。显卡驱动提供的管理工具在Windows上对Tesla卡的TCC/WDDM切换支持很有限命令行改模式的操作经常直接报不支持。真正有效的方式是改注册表里的适配器类型字段。这个字段藏在设备类注册表项里值从1改成0重启之后就生效。听起来简单但前提是驱动已经正确安装否则注册表里根本找不到对应的子项。2.3 WDDM模式下P40能做什么、不能做什么切到WDDM之后P40会作为一个图形适配器出现在系统里可以参与DirectX渲染可以被游戏识别也可以在显卡控制面板里调整3D设置。但它依然没有物理输出接口所以不能直接接显示器。它渲染出来的画面需要通过另一张有输出接口的卡送到显示器上这就是亮机卡存在的意义。另外WDDM模式下P40的显存会被系统统一管理一部分显存会被系统预留实际可用显存会比24GB少一些这是正常现象。3. 改注册表之前先把驱动这关过了3.1 驱动版本的选择P40有天花板P40是Pascal架构官方数据中心驱动对它的支持在某个版本之后就停止了。目前能稳定支持P40的驱动分支大概到R550系列再往后的新分支已经不再包含Pascal架构的支持。所以装驱动的时候不能无脑追新要选对分支。我这边用的是R550分支的数据中心驱动安装过程比较顺利。如果你随便下了一个最新版驱动安装程序可能会提示找不到兼容设备或者装完之后设备管理器里P40带黄色感叹号这些都是驱动分支选错的表现。3.2 双卡双驱动的共存安装顺序这套组合里有两张卡P40需要数据中心驱动GTX 750需要普通的游戏卡驱动。两个驱动的安装包是分开的装的时候有顺序讲究。我的做法是先装数据中心驱动让P40先被系统正确识别重启之后再装GTX 750的驱动。装第二遍驱动的时候安装程序选择自定义安装把执行清洁安装的勾去掉只装显示驱动和必要的组件。这样两个驱动可以共存设备管理器里两张卡各自显示自己的驱动版本互不覆盖。注意如果先装游戏卡驱动再装数据中心驱动数据中心驱动的安装程序有可能把游戏卡驱动一起清掉导致750变成Microsoft基本显示适配器。顺序反了的话重新装一遍游戏卡驱动即可不用重装系统。3.3 注册表AdapterType的完整修改步骤驱动装好之后先确认P40在注册表里的位置。用管理员权限打开PowerShell跑下面这段命令列出所有显示适配器类下的设备项和对应的描述。$base HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318} Get-ChildItem $base | ForEach-Object { $desc (Get-ItemProperty $_.PSPath -Name DriverDesc -ErrorAction SilentlyContinue).DriverDesc if ($desc) { $($_.PSChildName) : $desc } }输出里会看到类似0000 : Tesla P40和0001 : GTX 750这样的对应关系。记下P40对应的子项编号然后修改它的AdapterType值。可以直接用注册表编辑器手动改也可以把下面这段保存成.reg文件导入注意把0000换成实际编号。Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000] AdapterTypedword:00000000改完之后重启。重启后在设备管理器里看显示适配器P40应该正常出现不再带TCC标记。再用命令行验证一下驱动模型。nvidia-smi -q | Select-String Driver Model如果输出里P40对应的条目显示WDDM说明切换成功。这里有一个细节nvidia-smi在Windows下对Tesla卡的信息展示不如Linux完整但只要能看到Driver Model字段变成WDDM就说明注册表修改生效了。3.4 切换之后控制面板里的变化切到WDDM之后显卡控制面板的管理3D设置里会多出P40这个设备。不过数据中心驱动的控制面板功能比游戏卡驱动精简没有游戏优化、没有GeForce Experience那些东西能调的只有基础的3D参数。这不影响游戏运行原神的画质设置是在游戏内调的控制面板只需要确保P40被识别为可用GPU就行。4. 亮机卡不是摆设GTX 750在这套链路里干了什么4.1 显示输出链路的物理连接整套系统的物理连接很直接显示器接GTX 750的HDMI或者DVI接口P40不接任何显示线。主板BIOS里要把首选显示设备设置成750所在的那个PCIe插槽否则开机自检时系统可能尝试从P40初始化显示结果就是黑屏。有些主板把这个选项叫Init Display First有些叫Primary Display位置一般在BIOS的Peripherals或者Advanced菜单里。设置正确的话开机画面从750输出进系统之后两张卡都被识别。4.2 混合多适配器渲染的原理P40渲染游戏画面750负责把画面送到显示器这中间的过程叫混合多适配器渲染。Windows从某个版本开始支持为单个应用指定渲染GPU应用在P40上完成渲染后渲染结果会通过PCIe总线拷贝到750的帧缓冲里再由750输出。这个拷贝过程会带来一定的延迟和带宽开销1080p60帧的画面每帧大约8MB每秒480MB左右的数据量PCIe 3.0 x16的带宽完全吃得下所以瓶颈不在带宽而在额外的拷贝延迟。实际体验里这个延迟对原神这种非竞技游戏影响很小肉眼基本感觉不到。4.3 GTX 750的驱动与设置要点750在这套系统里只负责输出不参与渲染所以它的驱动不需要追求最新稳定就行。安装的时候注意不要在控制面板里把750设成全局首选GPU否则游戏会跑到750上P40就白搭了。控制面板里的首选图形处理器保持自动选择具体的GPU指定交给Windows的图形设置来做这样更可控。另外750的显存只有1GB或者2GB不要让它承担任何渲染任务否则原神连最低画质都跑不动。4.4 双卡插槽的选择与带宽分配如果主板有两个x16长度的插槽建议P40插在CPU直连的那个插槽上750插在芯片组提供的插槽上。P40需要带宽做渲染和帧缓冲拷贝CPU直连的x16更适合它750只做输出芯片组插槽的x4带宽足够。但这里有一个坑部分主板的第二个x16插槽不支持作为首选显示设备BIOS里设置之后依然从第一个插槽初始化。遇到这种情况只能把750插到第一个插槽P40插第二个然后接受P40跑在x4带宽下。x4带宽对原神的影响不大但帧缓冲拷贝的延迟会稍微增加。5. 让原神认准P40图形设置与实测帧数5.1 Windows图形设置里指定高性能GPU系统设置里有一个专门给应用指定GPU的入口设置 系统 显示 图形设置。在这里点浏览找到原神的游戏本体可执行文件添加进去然后点选项会弹出高性能和节能两个选项高性能下面会列出P40。选中P40保存。这里要注意原神的启动器和游戏本体是两个不同的可执行文件启动器不需要指定真正要指定的是游戏本体那个exe。如果只给启动器指定了P40游戏启动后可能还是跑在750上。5.2 显卡控制面板的配合设置Windows图形设置指定完之后再到显卡控制面板里确认一下。在管理3D设置的程序设置标签里找到原神的游戏本体把OpenGL渲染GPU和CUDA-GPU都指向P40。数据中心驱动的控制面板里这两个选项的位置和游戏卡驱动略有不同但逻辑是一样的。设置完之后应用不需要重启。5.3 启动器与游戏本体的进程区分这一步很容易被忽略。原神的启动器进程和游戏本体进程名字不一样任务管理器里能看到两个。指定GPU的时候只认游戏本体启动器跑在哪个卡上无所谓。如果发现游戏帧数和750独显差不多大概率是游戏本体没跑在P40上。可以在游戏运行的时候打开任务管理器看GPU引擎占用P40的3D引擎占用应该明显高于750750的占用应该接近零只负责输出。5.4 实测帧数与瓶颈分析我这边跑下来的数据大致如下平台不同会有差异仅供参考。场景分辨率与画质帧数表现备注蒙德城日常1080p高画质稳定60游戏锁60帧璃月港夜间1080p高画质55到60人多时轻微掉帧深渊战斗1080p高画质稳定60场景负载低须弥雨林1080p高画质50到58植被复杂场景整体来看P40跑原神是绰绰有余的瓶颈不在GPU算力而在跨GPU拷贝带来的那一点延迟以及P40本身频率偏低导致的帧生成时间波动。如果把画质降到中帧数会更稳但原神锁60帧高画质已经能稳住没必要降。6. 散热、供电、BIOS三个最容易翻车的硬条件6.1 P40的被动散热必须改造P40出厂是被动散热设计上依赖服务器机箱的强风道。放进普通台式机箱里如果没有主动风核心温度会迅速飙到降频甚至保护关机。我的做法是在卡尾加装一个涡轮风扇用扎带或者3D打印支架固定风向对着散热鳍片吹。也可以用普通的12cm机箱风扇对着吹但风压不如涡轮扇集中。改造之后满载温度能压在70度出头原神这种负载不高的游戏温度大概在60到65度之间。温度控制不好P40会降频帧数就会波动。6.2 EPS 8pin供电接口的坑P40的供电接口是EPS 8pin也就是常说的CPU 8pin不是显卡的PCIe 8pin。这两个接口的针脚定义不一样千万不能把PCIe 8pin线硬插进去。正确的做法是用电源自带的CPU 8pin线直接接P40。如果电源只有一个CPU 8pin接口而主板也需要一个那就需要准备一根CPU 8pin的分线或者换一个有两个CPU 8pin输出的电源。这个细节很容易被忽略插错线轻则点不亮重则伤卡。6.3 Above 4G Decoding与PCIe相关设置主板BIOS里要打开Above 4G Decoding否则24GB显存无法被系统完整映射设备管理器里可能只认出部分显存或者驱动直接报错。这个选项一般在BIOS的PCIe配置或者高级芯片组设置里。另外Resizable BAR对P40没有意义Pascal架构不支持这个特性开不开都一样。PCIe速率保持自动协商就行不需要手动锁定。6.4 电源功率的估算P40满载250W750大概75W加上处理器和其他配件整机峰值功耗在450W到500W之间。电源建议650W起步金牌认证更稳。如果电源老化或者虚标玩游戏的时候可能出现瞬时掉电重启。我一开始用了一个500W的老电源原神跑十分钟就重启换成650W之后问题消失。电源这件事不能省尤其是带这种功耗不低的计算卡。7. 踩坑复盘从黑屏到能玩我遇到的五个问题7.1 第一次开机直接黑屏装好卡第一次开机显示器没有任何信号。原因是BIOS默认从第一个PCIe插槽初始化显示而第一个插槽插的是P40。把750换到第一个插槽P40换到第二个或者在BIOS里把首选显示设备改成750所在的插槽问题解决。如果主板不支持指定首选插槽就只能调整物理插槽顺序。7.2 驱动装完P40从设备管理器里消失装完数据中心驱动重启设备管理器里找不到P40只有一个未知设备。这种情况通常是驱动分支不对换一个支持Pascal的版本重装就好。另一种可能是注册表修改之后驱动加载异常把AdapterType改回1重启确认卡能正常识别再重新改成0。7.3 原神还是跑在750上按前面说的在图形设置里指定了P40进游戏发现帧数只有十几帧任务管理器里750的3D占用很高。原因是只给启动器指定了GPU游戏本体没指定。重新添加游戏本体的exe指定P40问题解决。这个坑很常见因为原神的启动器和本体文件名不一样容易漏。7.4 游戏中途帧数突然掉到30玩着玩着帧数腰斩过一会儿又恢复。看温度发现P40核心温度冲到了85度以上触发了降频保护。这就是散热没做好的后果。加装涡轮风扇、调整机箱风道之后温度压在70度以下掉帧问题消失。被动散热的卡散热改造是必选项不是可选项。7.5 开机自检报错或者蜂鸣有一次开机主板蜂鸣报警屏幕无输出。排查下来是P40的EPS 8pin线没插紧接触不良导致自检不过。重新插拔、确认卡扣到位之后恢复正常。这种问题没有技术含量但很耽误时间装机的时候线材一定要插到底。7.6 一张排查对照表把上面这些问题整理成表格方便遇到类似情况时快速定位。现象可能原因处理方式开机黑屏BIOS首选显示设备指向P40改BIOS或调整插槽顺序P40设备管理器带感叹号驱动分支不支持Pascal换R550分支驱动游戏帧数极低游戏本体未指定P40图形设置里添加本体exe玩一段时间掉帧P40温度过高降频加装主动散热开机蜂鸣无显示供电线接触不良重新插拔EPS 8pin设备管理器显存识别不全未开Above 4G DecodingBIOS里开启该选项这套组合折腾下来硬件层面的门槛比软件层面高。注册表改一行、图形设置点几下这些都不难难的是散热改造、供电线材、BIOS选项这些看起来不起眼但直接影响能不能开机的细节。我个人在实际操作中的体会是P40这种被动散热的计算卡买回来第一件事不是上机点亮而是先把散热方案想好否则后面所有的调试都可能在温度墙上撞头。另外双卡双驱动的共存虽然可行但每次更新驱动都要重新确认两张卡的状态嫌麻烦的话就锁定一个稳定版本不要频繁追新。原神在这个平台上跑1080p高画质是够用的跨GPU输出的延迟对这类游戏影响有限真正影响体验的是散热和供电的稳定性。如果你手里正好有这两张卡可以按上面的顺序试一遍先把驱动和注册表跑通再解决散热最后指定GPU一步步来比一次性全插上再排查要省事得多。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →