news 2026/9/8 4:43:46

DLSS与FSR混合方案:Switch 2《星刃》60帧背后的渲染技术解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DLSS与FSR混合方案:Switch 2《星刃》60帧背后的渲染技术解析

最近《星刃》跑到Switch 2上的消息一出来,最有意思的其实不是“它能跑”,而是“它居然能这么跑”。一个被反复提到的性能模式,把DLSS和FSR同时亮了出来。很多玩家的第一反应是:Switch 2不是NVIDIA的芯片吗?为什么还要用AMD的FSR?这两个方案以前在PC上是互相抢档期的竞争对手,现在竟然在一台主机上合作输出60FPS。这个组合放在前几年是想都不敢想的,但细看之后会发现,它是目前移动端硬件在功耗墙上做出的最务实的选择。这篇内容我就结合这套混合方案的技术逻辑、帧时间构成,以及PC上能不能复刻类似玩法,聊一点实际的东西。

1. Switch 2那个级别的硬件,要跑60FPS《星刃》到底卡在哪

1.1 掌机与底座双模式下的算力现实

Switch 2用的芯片虽然还没有官方公开全部细节,但外界普遍预期是NVIDIA定制Tegra,也就是传闻里的T239,GPU部分属于Ampere架构,带Tensor Core和光追单元。这个底子的桌面端性能参考,大致相当于GTX 1050到RTX 2050之间,而且还要区分底座模式和掌机模式。底座模式可以拉高一点功耗,掌机模式必须控制发热和续航,所以同一块芯片在不同模式下能释放的性能差异很大。

你可以把它理解成一台性能比Steam Deck稍强、但依然远弱于PS5的移动主机。而《星刃》这个项目在PS5上是以高画质、高速战斗作为核心卖点的,场景里大量高模角色、复杂反射、多光源和粒子效果,整套美术资源的标准是按照上世代主机和中端PC来做的。现在要塞进一台掌机级别的SoC里,还要保证战斗时不掉帧,难度不在游戏逻辑,而在像素填充率和带宽。

问题很直观:如果按照完整画质渲染原生分辨率,60FPS基本没戏。Steam Deck跑同类动作游戏,720P下开中低特效也就勉强40到50帧。Switch 2的GPU比Steam Deck的Van Gogh架构在浮点上略占优,但有光追单元和Tensor Core加持,理论上比纯RDNA2方案更适合做AI超分,可也掩盖不了绝对算力不足的事实。

1.2 为什么原生60FPS在这个场景下不现实

很多主机玩家有一个惯性认知:既然新主机来了,只要厂商肯优化,原生60FPS应该不难。但《星刃》这种体量不一样。它的渲染管线里塞了大量高开销特性,比如角色服装材质的各向异性高光、场景镜面反射、体积雾和动态阴影。这些特性在PC上跑原生4K 60,需要的GPU算力已经接近RTX 3070级别,而Switch 2底座模式的GPU浮点能力可能只有它的四分之一到三分之一。

所以“原生60FPS”从来不是优化问题,而是物理问题。即便把分辨率降到720P,把阴影距离和反射精度都砍掉,这个游戏的战斗场景依然可能让GPU渲染一帧就需要25到30毫秒,换算下来就是33到40FPS上下。要让画面显示到60Hz刷新率而不产生撕裂,就必须想办法在帧与帧之间做文章。

这也正是超分辨率与补帧技术被推上台面的原因。超分辨率解决的是“像素不够”的问题,补帧解决的是“帧数不够”的问题。两个问题单独看都能靠降特效和降分辨率硬扛,但动作游戏不能让玩家的视野里出现一堆锯齿和模糊贴图,也不能让战斗卡成幻灯片,所以只能靠算法。

1.3 “空间放大+时间放大”双管齐下

DLSS核心是空间放大,把720P或者900P的低分辨率图像,通过Tensor Core的神经网络重建到1080P甚至更高分辨率输出,比传统双线性插值清晰得多。FSR在Switch 2上更可能负责的是时间放大,也就是FSR 3的帧生成功能。帧生成不是简单放大一张图,而是在两帧已经渲染出来的画面之间,利用运动矢量和深度信息推算出中间帧,再插进去,让显示器每秒刷新时看到更多帧。

一个负责把画面变清晰,一个负责把帧率变快,两者职责完全不同。这就是为什么它们能在一台机器上共存,而不是“都做超分导致重复劳动”。更直白地说:DLSS帮的是GPU的像素单元,FSR帮的是GPU的时间线。

在主机开发里,这种混合方案以前很少出现,因为平台方更倾向于统一技术栈。但在性能吃紧的情况下,只要引擎支持、效果可控,开发团队完全可以选择每个环节里最合适的那套工具。说白了,游戏主机不是选秀节目,不需要对品牌保持忠诚。

2. 为什么DLSS和FSR能“杂交”?两家技术底层的互补逻辑

2.1 别把DLSS和FSR当成同一种东西

我见过很多玩家把DLSS和FSR看作是“换皮竞争”,其实该细究一下它们各自的实现路径。DLSS超分属于深度学习和专用硬件加速,它依赖Tensor Core里面的AI单元来对图像做时域重建,数据量巨大,但质量上限很高,尤其对静态物体和远距离画面的细节恢复非常强。FSR超分是纯空间算法加时域累加,不依赖AI硬件,通用性极强,但画质上限比DLSS低一截,在动态场景和边缘处理上容易发虚。

到了帧生成层面,两家又不太一样。DLSS 3的帧生成是NVIDIA闭源方案,依赖光流加速器加上游戏引擎输出运动矢量,在PC上限定RTX 40系显卡,硬件门槛非常高。FSR 3的帧生成则是一款跨平台方案,可以从RDNA系列到老旧的GTX 10系都能跑,因为它更多基于游戏内的运动矢量来计算中间帧,不需要专门的光流单元。

这就是“杂交”的技术前提:DLSS的超分能力刚好是FSR不擅长的,FSR的帧生成能力又恰好绕开DLSS在硬件上的限制。两块拼图要是硬用一套方案,总有一半的效率是被浪费的。

2.2 混合方案里的具体分工

在《星刃》这套Switch 2方案里,假设最终确定的分工是“DLSS超分 + FSR 3帧生成”,那整个图形管线看起来就像是一条流水线:

  • 游戏引擎先以较低内部分辨率渲染实际场景,比如720P或864P。
  • DLSS把这张低分辨率图放大到1080P,这个过程会利用运动矢量和历史帧数据。
  • FSR 3帧生成模块读取DLSS输出后的运动矢量,加上深度图,计算出插帧用的中间画面。
  • 最终输出到显示器的是经过超分后的真实帧和FSR生成的中间帧混流。

从架构上看,这两个工序是前后串联而不是并行。DLSS先做,FSR后做,顺序不能颠倒。如果让FSR先超分、DLSS再补帧,逻辑上虽然可行,但DLSS帧生成在非NVIDIA硬件上根本跑不起来,而且FSR的超分结果喂给DLSS后,DLSS需要重新分析画面,效率会大幅下降。所以现在的混合路线是“DLSS处理质量、FSR处理帧率”。

这就像做菜:DLSS负责把食材切得精致漂亮,FSR负责加快上菜速度,两者不是在抢同一个灶台,而是各有各的工作台。

2.3 两套方案一起跑,不会撞车吗

过去PC上不让DLSS和FSR同开,很大程度上是游戏只集成了其中一套,引擎里没写同时调用的路径。要同时使用两个厂商的中间件,引擎必须能把DLSS的输入输出接口暴露给FSR帧生成模块,而不是各自独立处理。这里面最麻烦的就是运动矢量。

DLSS跑完后会生成一张新的运动矢量图给后续TAA或帧生成使用,如果引擎直接把DLSS的输出画面交给FSR,却没把运动矢量也传过去,FSR插帧就会疯狂出错,画面会出现大量边缘撕裂和鬼影。所以想让它们不撞车,就必须在引擎渲染流程里把中间数据接好。

从UE4/UE5实践来看,这类数据并不是不能对接,但UE默认的后处理管线里并没有一个专门为“DLSS输出后马上接FSR FG”设计的节点。开发者通常需要把DLSS整合为RHI层的一个Pass,再把它的输出作为FSR FG插件的输入。这不是改个布尔变量就能完成的事,整套后处理链都要重新梳理一遍。

这也是为什么很多主机游戏宁愿只选其中一个方案:不是因为两个方案加在一起效果变差,而是因为工程复杂度成倍增加。如果团队能熬过适配阶段,得到的就是一个画质和帧率同时保留的优化状态。

3. 从帧时间拆解《星刃》的60FPS管线:哪一步在用DLSS,哪一步在用FSR

3.1 一帧画面从渲染到显示到底经过了什么

我看很多博主拿到“60FPS”的成绩就直接欢呼,但真正好看的是帧时间构成。把一帧从引擎到屏幕拆开,大致能分成下面几个阶段:

  • 游戏逻辑与动画更新,CPU开销,一般是1到2毫秒。
  • 场景渲染,包括模型、光照、阴影、粒子,这是最重的一步,占用大头。
  • 运动矢量计算,为后续空间和时间重建做准备。
  • DLSS超分Pass,把低分辨率画面放大到目标分辨率。
  • UI和HUD合成,这部分通常单独画,避免被超分和插帧搞糊。
  • FSR 3帧生成,生成一个或多个中间帧。
  • 提交给显示输出,等垂直同步。

实测下来,游戏逻辑时间在主机上通常很稳定,不太会超过3毫秒。场景渲染部分会波动,普通场景18毫秒,复杂战斗场景可能冲到25毫秒以上。DLSS超分本身跑在Tensor Core上,在1080P输出档位下,Pass消耗能压到1到2毫秒。FSR帧生成因为要读取运动矢量、深度并重建光流,开销反而比DLSS超分稍高一点,可能在2到3毫秒。

算总账的话,一帧真实帧的渲染加后处理大概是20到27毫秒,也就是大约37到50FPS的实际游戏帧率。如果不开帧生成,你看到的就是一个浮动的40多帧画面,虽然能玩,但远不够“丝滑”。开了FSR帧生成之后,系统在相邻两帧真实帧之间再插入一帧,显示刷新率突然翻倍,流畅度立刻跳到60FPS级别。

3.2 基础帧率30还是40:帧生成的两种工作模式

FSR 3帧生成通常按照“1比1插帧”来工作,也就是渲染一帧真实帧,生成一帧虚拟帧,交替输出。要稳定60FPS,引擎只需稳定渲染30FPS即可,另外30FPS靠生成。如果基础帧率跑到40FPS,插帧后数值会变成80FPS,但此时显示输出若固定60Hz,系统就需要做帧丢失或帧时序重映射,反而会造成卡顿。

所以主机开发里碰到这种情况,常见的做法不是让帧生成去追求80,而是限制到显示器刷新率的一半或者整数倍。比如底座模式锁30真实帧加30插帧,输出60FPS;或者干脆锁40真实帧加20插帧,输出80FPS但依赖HDMI 2.1的可变刷新率。Switch 2如果底座输出走HDMI 2.1,理论上这些模式都能做,但实际游戏更倾向保守的一比一方案,降低调度复杂度和延迟波动。

这也意味着玩家看到的“60FPS”,实际体验下限是30FPS的真实操作响应。动作游戏对这一点非常敏感,因为每个按键操作和屏幕反馈之间,隔了真实帧渲染那段时间,插帧并不能缩短输入延迟。

3.3 画质表现:小屏幕上的“观感胜利”

画质方面,这套混合方案在掌机小屏幕上确实讨巧。7到8英寸的屏幕,原生720P到1080P的像素密度已经不低,玩家很难一眼看出DLSS重建带来的细微瑕疵。FSR插帧因为画面在高速运动时可能出现轻微边缘糊,但在掌机上屏占比小,观感反而不容易露馅。

底座模式如果把游戏输出到4K电视,DLSS超分的目标分辨率可能就不是1080P,而是1440P甚至4K。这时候DLSS的重建压力会变大,FSR插帧需要的运动矢量数据也更多,GPU的带宽消耗会显著上涨。为了守住60FPS,底座模式更可能把DLSS目标设定在1440P,再靠主机显示芯片的缩放或让玩家自行选择帧率优先模式。整体效果比PS5原生4K差,但考虑到硬件差距,这个画质水平已经算相当能打。

从帧时间日志来看,真正决定最终成败的不是那1毫秒的DLSS开销,而是FSR帧生成需要的时间是否稳定。只要FSR插帧本身的耗时抖动超过2毫秒,显示端就会出现明显的帧间隔波动,让你感觉“虽然FPS是60,但画面不跟手”。这也是混合方案最难调的地方。

4. 混合方案不是银弹:伪影、延迟与玩家体验的取舍

4.1 FSR补帧逃不掉的伪影问题

再好的帧生成算法,本质都是在猜测中间帧长什么样。FSR 3在里世界物体平移、镜头慢摇这类场景下效果很好,但碰到高速动作游戏里最常见的两种情况就容易露馅:人物快速连续出招、镜头瞬间翻转。

第一种情况里,角色肢体运动幅度大,前后两帧的差异太明显,算法很难靠运动矢量完美推算出中间位置,就会出现“武器残影”和“手臂被拉长”的伪影。第二种情况里,镜头旋转时背景像素整体位移,插帧出来的画面会有一瞬间的扭曲感,类似手机上开启视频超帧时的果冻模糊效果。

《星刃》这种游戏偏偏就满是这两种镜头语言。开发团队如果想压制伪影,通常会做两件事:一是限制FSR插帧在UI层上的作用,HUD和血条不走补帧路径;二是在极端动作镜头里临时降低插帧权重,比如镜头旋转速度超过阈值时,插帧退回原样输出。可一旦做了动态降级,帧率就会从60往下掉,玩家可能感知到“某几秒变卡了”,反而更闹心。

所以你要明白,“60FPS稳定”在带插帧的方案里,很大程度是牺牲了一部分帧的可靠性换来的。显示指标好看,实际观感不一定在所有时刻都好。

4.2 动作游戏的输入延迟,补帧救不回来

这是我最想让动作游戏玩家知道的一点:帧生成提升的是视觉流畅度,不是操作手感。FSR 3插帧生成的帧不会读取你的按键输入,它只是在已经发生的两帧之间补了个画面,所以真正影响你手柄操作到屏幕反应的时间,依然是真实帧的渲染延迟。

假设基础帧率只有30FPS,那操作到显示的理论延迟就在60到80毫秒之间,这还没算上无线手柄和显示设备的输入延迟。对硬核动作玩家来说,这个数值是能被明显感知到的,尤其是弹反、闪避这种需要精确帧窗口的机制,容错率会低一截。

从开发者的角度,能做的补救是引入类似NVIDIA Reflex的低延迟管线优化:让CPU在GPU处理当前帧时就开始准备下一帧的输入数据,降低渲染队列深度。但即便优化到位,混合方案的整体输入延迟也很难赶上同画质下原生60FPS。所以我猜《星刃》在Switch 2上大概率会给玩家提供“画质模式”和“性能模式”,混合方案只在性能模式下启用,让追求手感的玩家自己决定要不要关闭插帧。

4.3 主机平台对这种“跨品牌混搭”的看法

主机平台过去很少允许核心渲染层同时使用两家的中间件,主要是出于工具链统一和测试成本的考虑。因为一旦加入两个供应商的方案,就意味着要同时跟进两边的SDK更新、版本兼容和认证规则。任天堂在这方面的态度一直比较务实,只要不影响系统稳定性和游戏质量,第三方团队自己组合方案通常不会被拦。

对于用NVIDIA芯片的主机,如果它只用了FSR帧生成而不开DLSS,反而是更让人意外的选择。因为FSR帧生成的中间数据结构相对开放,引擎接入成本更低,而DLSS信号质量好但接入依赖英伟达的SDK。因此在一个已经预装Tensor Core的平台里,最优解也确实就是“DLSS管放大,FSR管补帧”,两边各用各的强项。

当然,开发团队还得面对一个问题:如果未来Switch 2系统更新或者FSR版本升级,会不会影响已经封版的游戏?主机游戏一旦发售,补丁流程非常重,不可能频繁改渲染逻辑,所以在首日版本里,所有版本相关的接口变量就得锁定好,不然一次系统更新就可能把插帧模块弄崩。

4.4 也不是没有备选路线

除了DLSS+FSR,其实还有另一个更“端水”的组合思路:FSR超分+FSR帧生成全饭AMD方案,或者DLSS超分+引擎内置TAAU+FSR插帧。前者好处是单供应商调优方便,坏处是画质上限受限;后者本质上依然是混合,但把超分环节换成了更普通的TAAU,画质不如DLSS,却能在部分场景下省下Tensor Core的资源给FSR帧生成。

《星刃》目前曝光的方向选择,更多是质量优先,因为DLSS超分在这些方案里是画质表现最稳的。未来如果看到其他游戏用“FSR超分+DLSS帧生成”的组合,不用觉得奇怪,那大概率是因为硬件平台不支持DLSS超分但支持DLSS帧生成的某种特例。主机的图形栈就是这样一个多方妥协的结果。

5. PC玩家能复刻这种混搭玩法吗?DLSS Swapper与第三方MOD的现实

5.1 DLSS Swapper只能换DLL,管不了整套混合

DLSS Swapper这工具不少PC玩家都听过,它能扫描你游戏目录里的DLSS DLL文件,然后替换成你指定的版本,比如把旧版DLSS 3.1升级到3.7。听起来很万能,但它只修改了DLSS运行时库,决定游戏是否启用DLSS、能不能把运动矢量正常输出给其他模块的,还是游戏引擎本身。

像《星刃》这种主机移植到PC之后,如果不原生支持FSR 3帧生成,你光靠DLSS Swapper是没办法凭空变出FSR模块的。DLSS Swapper能做的,充其量是让DLSS版本更新,换来一些超分质量提升或者延迟优化,无法让两个公司的技术在一套引擎里自动组合。

而且,很多UE4/UE5游戏在打包时把DLSS的二进制直接编译进主程序或者私有库,不是单纯的DLL外置。你在游戏目录里找不到nvngx_dlss.dll这种情况太常见了,DLSS Swapper连目标都找不到,更别谈替换。所以想复刻混合方案,不能指望这工具,要从游戏自身的渲染设置入手。

5.2 “A卡用DLSS的方法”到底靠不靠谱

网上常年有人问A卡能不能用DLSS,答案很复杂。原则上,DLSS超分依赖Tensor Core,A卡没有这套硬件,直接跑是跑不起来的。但社区里有一类MOD会把游戏的DLSS调用翻译成其他API,比如让AMD显卡用微软的DirectML超分或者干脆转成FSR,从而在A卡上“看到DLSS的开关开起来了”。

这种做法的本质是模拟兼容,不是真DLSS。质量看MOD的实现,很多情况下还不如你直接开FSR画质档效果好。而且在线游戏用了这类MOD,很容易被防作弊系统判定为修改客户端,后果不用我多说。

如果你只是想在自己的PC上体验“DLSS超分+FSR插帧”的混合效果,最简单的路径反而是选择原生支持DLSS的游戏,再用第三方帧生成MOD补上FSR 3。市面上已经有面向某些单机游戏的帧生成MOD,把FSR 3 FG插进DLSS超分之后,算是一种相对可行的PC复刻方案。

5.3 在PC上自己动手试混合方案的步骤参考

如果你想在PC上试试类似Switch 2的组合思路,操作门槛没有想象中高,但需要做好心理准备:不是所有游戏都兼容这套流程,建议优先选那些本身同时支持DLSS和FSR的游戏。以《赛博朋克2077》或者《星空》这类UE或CDPR自家引擎游戏为例,操作步骤大致是这样:

  • 确认游戏能开启DLSS超分,把渲染分辨率调低到你能接受的档位,比如质量档或平衡档。
  • 安装一个支持FSR 3 FG的MOD,目前社区方案一般是基于UE插件或DXVK层注入,先把DLSS超分打开,再让MOD读取DLSS生成的运动矢量。
  • 在MOD配置里启用帧生成,并把帧生成倍率设为1比1,目标锁60或与你的显示器刷新率一致。
  • 用CapFrameX跑一段固定场景,记录帧时间和1% Low,观察画面边缘有没有明显伪影。
  • 如果输入延迟让你难受,把游戏内垂直同步和帧数限制都关掉,改用显卡驱动级别的低延迟模式。

这套流程不一定在所有游戏里都能跑通,因为运动矢量的传递和UI合成顺序每个引擎都不一样。但只要你成功过一次,就会理解主机团队为什么会在两种技术之间来回调参——任何一个环节的数据没接对,画面都会崩给你看。

5.4 从主机方案里能借鉴的工程思维

相比PC上的各种折腾,主机版《星刃》的混合方案更像是一个经过严格测试的样板工程。它给PC玩家的启示不在于“我能不能用同一个组合”,而在于“帧生成和超分之间可以有明确分工”。以后你在一款游戏里同时看到DLSS质量选项和帧生成选项时,可以试着把它们拆开来看:哪个负责清晰度,哪个负责流畅度,哪个环节带来的副作用最小。

我个人在调PC画面时也更倾向这种“模块化”思路:别一键开个画质预设就完事,而是针对显示器特性去分开设置。如果你的显卡支持DLSS,超分就用DLSS;如果你的显示器是高刷但显卡撑不住原生高帧,那再考虑开帧生成;如果游戏卡顿来源其实是CPU瓶颈,那超分和插帧都帮不了你,锁帧反而更稳。

这套方法论放到Switch 2上同样成立,只不过主机封装得更黑盒,你没那么多权限去细调。但从结果倒推,能看出开发团队是认真做了权衡的。

最后再分享一个观察:DLSS和FSR在PC上打了这么多年,真正值得关注的不是谁取代谁,而是它们被塞进同一台机器时如何各司其职。Switch 2上的《星刃》大概率不会是最后一个这么干的游戏,之后应该会有更多项目在移动端复制这种混搭思路。如果你在自己电脑上碰到需要兼顾画质和帧率的场景,也不妨先想想这个问题——你缺的到底是像素密度,还是帧与帧之间的间隔。想清楚之后,再用DLSS还是FSR,答案自然就出来了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 4:43:43

算法刷题Day34:双指针、单调栈与贪心的实战进阶

2. 核心细节解析与实操要点2.1 双指针解法:空间换时间还是时间换空间?接雨水这道题最经典的思路有三种:动态规划、单调栈、双指针。我第一次做的时候用的是动态规划,觉得很好理解,但面试时候被要求优化空间&#xff0c…

作者头像 李华
网站建设 2026/9/8 4:43:38

Airflow、Prefect、Dagster、Temporal选型实战:从批处理到长任务编排

做技术选型这事,最怕的不是项目复杂,而是方案多到不知道该从哪下手。这些年我在不同公司、不同团队里,把Airflow、Prefect、Dagster、Temporal这几个长任务编排工具都拉上生产跑过,每次换工具都是因为上一套方案在某个关键点上确实…

作者头像 李华
网站建设 2026/9/8 4:43:27

Flink到底强在哪?从状态、Checkpoint到精确一次的生产落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/8 4:43:23

半透明Panel原理与实现:WinForms、Qt、CANoe全攻略

简介:面向 Delphi 开发者的可设置透明度的 Panel 组件资源,主要解决自定义容器控件视觉透明效果的问题。资源通过 AlphaBlend 与 AlphaValue 属性,让开发者可以随时调整数值,轻松实现半透明、全透明或不透明等多种显示效果&#x…

作者头像 李华
网站建设 2026/9/8 4:41:38

黑色响应式全屏滚动主页HTML源码与实现技巧解析

简介:在线黑色响应式全屏滚动主页HTML源码是一套面向网页设计者、前端学习者及需要快速上线展示页的开发者的响应式网站模板,整体采用黑色高对比主题与全屏滚动布局,适用于品牌官网、个人作品集、产品发布或活动专题页等场景。压缩包共包含37…

作者头像 李华