资讯动态

PS5SX2帧生成技术:FSR3光流在PS5上如何把30帧PS2游戏插值到60帧?

发布时间:2026/10/16 2:49:47 来源:尧图企业网站定制
【免费下载链接】PS5SX2A port of PCSX2 for PS5项目地址https://gitcode.com/gh_mirrors/ps/PS5SX2点击查看免费下载PS5SX2 是一个运行在 PS5 上的 PCSX2 移植项目它的**帧生成Frame Generation**功能基于 AMD FSR3 的光流算法GPU 自动在 PS2 游戏的两帧画面之间计算并插入一帧中间画面让 30 fps 的游戏以 60 fps 显示、60 fps 的游戏以 120 fps 显示配合 PS5 的 120 Hz 高刷输出获得更流畅的复古游戏体验。什么是帧生成为什么对 PS2 游戏有意义绝大多数 PS2 游戏以30 fps运行部分为 60 fps。PS5SX2 虽然能在 PS5 上高速模拟 PS2但游戏本身每秒只输出 30 帧——这是游戏软件的节奏不是硬件瓶颈。帧生成的思路不是重新渲染而是让 GPU 对比相邻两帧推算每个像素移动了多少再合成一帧中间时刻的画面。PS5SX2 中它与显示刷新率挂钩效果如下游戏帧率显示刷新率每帧可用刷新帧生成结果30 fps60 Hz2每帧插入 1 帧 → 60 fps30 fps120 Hz4插入帧被显示两次 → 120 fps60 fps120 Hz2每帧插入 1 帧 → 120 fps60 fps60 Hz1没有空余刷新不生成显示原始帧FSR3 光流路线PS5SX2 为什么自给自足完整的 FSR3 帧生成需要游戏提供运动矢量MV和深度缓冲而 PS2 游戏只输出一张颜色画面两者都没有。因此 PS5SX2 只启用 FSR3 的光流optical flow路线由 GPU 自己从两帧画面中猜出运动亮度金字塔对每帧构建 7 级降采样的亮度金字塔块搜索从最粗一级到最细一级逐级搜索匹配块FSR3 的 v5 光流每级做滤波和上采样场景变化检测用亮度直方图判断是否发生切镜切镜后重置历史重新开始这些计算由 10 个 Compute Pass 组成shader 源自 FSR3 的 HLSL 编译为 SPIR-V完整列表见 fg_shaders.incPass作用of_prepare_luma/of_luma_pyramid构建亮度金字塔of_scd_histogram/of_scd_divergence场景变化检测of_search/of_filter/of_scale7 级块搜索、滤波与上采样fi_setup/fi_vector_field准备并写运动矢量场fi_interpolate最终逐像素插值出中间帧中间帧怎么算出来从光流到逐像素验证光流给出每个像素移动了多少但直接按一半矢量采样会出现边缘撕裂和遮挡错误。PS5SX2 的插值 Pass 对每个像素做候选运动验证候选收集逐像素尝试多种运动——不动、矢量场、周围 4 个单元、本块光流、相邻 4 块的运动以及上一帧生成帧中记录的 2×2 块运动半矢量双向验证把候选运动代入前一帧往回半矢量 当前帧往前半矢量两边结果一致才采信亚像素精修把最优候选精化到像素的小数级别静止检测连续 8 帧未变化的像素HUD、文字判定为不动避免文字拖影遮挡边界没有任何运动能同时解释两帧的像素前景物体边缘直接丢弃被遮挡方的采样开启 Debug 视图后插值决策会以颜色可视化灰静止、绿运动、红/蓝保留前/当前帧边缘、紫红边缘混合方便调试效果。节奏控制以 PS2 vsync 为尺子的安全网无脑每帧插一帧有两个坑60 fps 游戏在 60 Hz 下根本没有空余刷新帧率不稳的游戏如 45–58 fps 波动插入帧后运动节奏忽快忽慢。因此 OrbisFrameGenPacing.h 用PS2 自己的 vsync 数而非墙钟时间计量帧间隔近 8 个间隔的中位数≥ 2 个显示刷新才算有生成空间帧率必须稳起始需近 8 帧中 7 帧间隔相同维持需 6 帧加载、暂停、切镜等待超过 8 个 vsync后先预热 8 帧安全网开帧生成时若游戏速度连续 3 秒低于目标的 95%暂停生成 10 秒若证明是帧生成拖慢了速度下次暂停翻倍最长 160 秒若证明游戏本身慢则临时下调判定门槛一分钟120 Hz 也是关键前提改造过的 ps5vk 驱动提供 119.88 Hz 高帧率输出帧生成启动时切换为 120 Hz 模式在 60 Hz 输出下只有 ≤ 30 fps 的游戏能生成帧。如何开启 PS5SX2 帧生成在游戏设置页的Display显示分组中找到Frame generation开关对应配置键PS5SX2/FrameGeneration默认关闭开启后启动游戏该选项在 GS 图形系统启动前读取在游戏启动时生效运行中修改将在下次启动生效帧生成激活后FPS 统计框会显示 FG 标记注意软件渲染模式不支持该功能游戏内每 10 秒会输出一行[fg]状态日志包含游戏 fps、生成帧率、显示频率与 GPU 耗时配套选项见 fe_options.cpp 的设置定义选项作用Frame Generation Limit0默认保持游戏自身帧率30/50/60在生成时锁定游戏帧率Frame Generation Multiplier2默认每两帧间插 1 帧3插 2 帧如 40 fps 按 120 Hz 显示4插 3 帧。每多插一帧输入延迟多一帧Frame Generation Debug以颜色显示插值决策用于调试代价与限制⏱️输入延迟每插入一帧游戏自己的画面被推迟一个刷新显示Multiplier 2 的延迟最小运动涂抹快速运动的物体边缘可能出现轻微拖影并非万能帧率不稳定的段落不触发生成60 fps 游戏必须搭配 120 Hz 输出才有效官方界面将其标注为Experimental实验性功能关键源码导航文件职责ps5_framegen.h帧生成插值器Vulkan 资源、录制管线与算法说明ps5_framegen.cpp插值器宿主实现10 个 Pass 的调度framegen/fg_shaders.incFSR3 光流 Pass 的 SPIR-V 汇编OrbisFrameGenPacing.hvsync 节奏判定与安全网header-onlyGSDeviceVK.cpp与 PCSX2 显示管线present的集成点main-boot.cpp启动时读取开关、请求 120 Hz 输出这套代码源自 Swordpdf 的 RPCS3-PS5 / ps5-framegen 工作经作者重新授权后移植进 PS5SX2并改用 PCSX2 的 Vulkan 加载器接入。总结PS5SX2 的帧生成让 PS2 老游戏第一次在 PS5 上体验到了翻倍帧率它用 FSR3 的光流路线绕开了 PS2 游戏缺少运动矢量的限制靠 7 级亮度金字塔搜索 逐像素候选验证合成中间帧再用 PS2 vsync 节奏判定和安全网保证只在稳态下生成、不拖累游戏速度。对于 30 fps 的 PS2 游戏这是目前把它变成 60 fps 的最平滑方案——只需在设置页打开 Frame generation即可享受近乎零配置的高帧率怀旧体验。赞分享【免费下载链接】PS5SX2A port of PCSX2 for PS5项目地址https://gitcode.com/gh_mirrors/ps/PS5SX2点击查看免费下载相关推荐如何免费提升游戏帧率dlssg-to-fsr3让AMD FSR 3帧生成技术轻松替代Nvidia DLSS-G如何免费提升游戏帧率dlssg to fsr3让AMD FSR 3帧生成技术轻松替代Nvidia DLSS G dlssg to fsr3是一款强大的开源工具图形学游戏开发dlssg-to-fsr3技术原理图解从光流计算到帧插值的完整流程dlssg to fsr3技术原理图解从光流计算到帧插值的完整流程 AMD FidelityFX Super Resolution 3 FSR3 帧生成技术通图形学游戏开发终极指南如何用dlssg-to-fsr3为NVIDIA游戏注入AMD帧生成技术终极指南如何用dlssg to fsr3为NVIDIA游戏注入AMD帧生成技术 想要让NVIDIA显卡的游戏也能享受AMD FSR 3帧生成技术带来的流畅体验图形学游戏开发创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑