作者playlive (???)
看板Emulator
标题[新闻] Citron 2026.02.1 "Pathfinder"
时间Sun Feb 1 20:35:06 2026
Citron 2026.02.1 "Pathfinder"
以下是机翻润饰
存档管理系统进行全面改革,并引入以下功能:
- 全域自订储存路径:使用者现在可以为所有储存资料指定一个全域目录,
从而大大简化备份和迁移过程
- 跨模拟器相容性:存档档案可以在不同的模拟器之间共用
- 储存镜像:NAND 快闪记忆体和自订储存位置之间的自动同步
- 每个游戏的路径覆盖:每个游戏都可以拥有自己的自订存档目录
- 竞态条件修复:解决配置变更期间可能导致保存资料损坏的执行绪问题
- 堆叠耗尽预防:修复可能导致模拟器当机的递归镜像问题
- 路径优先系统:正确的层级结构,优先考虑镜像路径和游戏内路径,而非预设路径
- 初始同步功能:防止在模拟环境之外配置设定时覆盖 NAND 快闪记忆体
- 动态路径理解:智慧型侦测全域 NAND 位置与预设 NAND 位置
Citron 内建了全新的模组管理系统:
- 模组服务後端:用於处理模组操作的核心服务
- 下载对话框:使用者友善的介面,用於浏览和下载模组
- 安装逻辑:自动将下载的模组安装到正确的目录
- 资料夹组织:按游戏和类型智慧组织模组
- 右键选单整合:在游戏清单中新增右键选单选项以管理模组
- Nx-Optimizer 整合:内建支援 MaxLastBreath 的 Nx-Optimizer 工具
- 支援游戏标题 ID:自动侦测并按游戏标题 ID 进行整理
Nintendo Switch主选单功能的初步实作:
- 系统小程式代理:ISystemAppletProxy,ILibraryAppletProxy,IOverlayAppletProxy
, IApplicationProxy
- 观察者服务:状态控制器的事件处理
- 小程式管理:图书馆小程式和主选单管理介面
- 选单列整合:新增 UI 选项,用於启动 QLaunch/主选单
- 建置配置:已更新 QLaunch 服务的核心建置配置
分享和导入每个游戏的配置:
- JSON 汇出:将游戏特定设定汇出为可共享的 JSON 文件
- JSON 汇入:从其他使用者汇入设定配置
- 基本设定支援:用於共享的扩充设定基础架构
- 系统状态检查:确保system.IsPoweredOn()检查不会在模拟过程中执行
(必须在未执行游戏时执行)
- INI 解析:JSON 和 INI 格式之间的正确转换
管理游戏库的新功能:
- 给我惊喜!功能:随机选择游戏(附骰子图示)
- 游戏隐藏:透过右键选单从游戏清单中隐藏特定游戏
- 隐藏路径储存:在 qt_config 中持久储存隐藏的游戏路径
- 启动动画:游戏初始启动时的动画图示
- 强调色彩主题:可在使用者介面的更多部分自订强调色彩
ETC2 纹理压缩支援
- 新增对 ETC2 纹理压缩格式的支援
- 提高了与使用这种行动装置压缩格式的游戏的相容性
- 正确解码和渲染 ETC2 压缩纹理
纹理组件类型的完整基础架构:
- SamplerComponentType 枚举:用於纹理元件分类的新枚举
- SPIR-V 後端整合:着色器编译中的元件类型处理
- 着色器环境更新:支援着色器处理中的纹理元件类型
- 纹理通道最佳化:最佳化通道中的组件类型整合
- 快取与序列化:组件类型资讯的持久存储
BCN Unswizzle 计算着色器
- 用於 BCN 纹理反旋转的专用计算着色器
- 改进区块压缩纹理处理的性能
- 改进着色器编译的建置系统
复古 CRT 显示器模拟:
- 可设定扫描线:可调式扫描线强度和间距
- 萤光发光:模拟萤光余辉效应
- 曲率:可选的萤幕曲率模拟
- 色彩溢出:真实的 CRT 色彩溢出效果
- 效能最佳化:对帧速率的影响最小
全面的记忆体管理以防止显示记忆体泄漏:
- 保守/激进模式:使用者可选的显示记忆体使用策略
- 垃圾回收:自动清理未使用的显示记忆体资源
- 快取 GC 改进:使用正确的 static_cast 实作类型安全的垃圾回收
- 设定简化:精简的 GC 激进程度选项(仅提供关闭/轻度模式)
- 虚拟函数表产生:透过在 settings.cpp 中产生虚拟函数表修复连结器错误
Vulkan改进
- VK_KHR_buffer_device_address:缓冲区装置位址支援的基础架构
- 线栅格化回退:针对不支援的线栅格化模式的优雅回退
- 影像尺寸限制:将影像尺寸和复制范围限制在 GPU 限制之内
- 查询快取协调:与渲染通道边界进行适当的协调
- 子模组更新:更新了 Vulkan 头档和依赖项
- 修复损坏的快取:修复着色器分配问题
渲染修复
- TAA AMD 图形瑕疵:修正 AMD 硬体上的时间抗锯齿图形瑕疵和像素杂讯问题
- NVDEC 记忆体验证:新增对 H264 解码器和 VIC 的记忆体验证
- 纹理快取:优雅地处理未映射的记忆体区域
- 整数纹理:修复 AMD 渲染器中由於着色器编译问题导致游戏无法启动的错误
音讯渲染器 REV12 和 REV13 支援
- 扩展音讯渲染器以支援韧体版本 12 和 13
- 提高了与新游戏的相容性
- 针对最新系统版本进行正确的音讯效果处理
音讯效果版本控制重构
- 改良的双二阶滤波器实作
- 修正了错误的修订版本号(12 → 15)
- 改进音讯效果的版本检测
- 增强型 AM 服务音讯处理
[Steam Deck 和 Gamescope 支援]
Gamescope 的 UI 完全重制
为了相容於 Steam Deck,对所有 UI 元素进行全面重构:
对话重构
- 关於对话方块:重新设计游戏视野显示版面
- 配置对话框:重新建构配置选项卡和选项
- 控制器介面:专为仅使用游戏手把导航而最佳化
- 多人游戏对话:重新设计以支援触控/游戏手把输入
- 更新对话框:相容 Gamescope 的更新通知
叠加层修复
- 效能叠加层:修复游戏视野的显示和尺寸问题
- 多人游戏叠图:修正多人游戏叠图的位置
- VRAM 监控:在显示卡上正确显示 VRAM 使用情况
解析度和显示
- 修正 Gamescope 特有的 UI 和解析度错误
- 为条件逻辑添加了游戏视窗检测布林值
- 修正 Gamescope 程式码路径的 MSVC 编译问题
[多人游戏与网络]
关键网路稳定性改进:
- SIGSEGV 修复:解决套接字处理中的段错误
- 套接字资料清理:正确初始化和清理套接字数据
- 表互斥锁:为套接字表添加了互斥锁保护
- 守卫与互斥锁:bsd.cpp 中的执行绪安全套接字操作
- 套接字代理程式保护:套接字代理程式的互斥锁定和刷新操作
- 竞态条件修复:修复套接字关闭和资料包接收之间的竞态条件
- CPU 资源不足问题修复:解决导致效能下降的忙碌等待问题
- 移除套接字重用:防止因重复使用已关闭的套接字而导致的问题
LDN 服务改进
- 已执行 SetProtocol 命令
- 已执行 SetWirelessAudioPolicy 命令
- 更好的本地无线游戏协议处理
多人游戏体验改进
- 聊天室功能增强:新增功能和使用者介面改进
- 连结过滤:聊天中强大的 URL 连结过滤和清理功能
- 讯息过滤:SanitizeMessage 安全聊天显示功能
- 竞态条件修复:修复资料包发现竞态条件
- 节点编号:确保节点从 1 开始,而不是从 0 开始
- 资料包互斥锁:新增了可变资料包互斥锁,以提高线程安全性
- 稳定性:sleep_for 为了控制时间,增加了稳定性参数,而不是产量参数
- 叠加层清理:正确清理多人游戏叠图资源
- ZA 连接问题:修正按字母顺序排列连接的错误
[档案系统和保存管理]
储存路径层级
- 正确的优先顺序:镜像 → 单局游戏 → 全域 → 预设
- 在配置介面中正确显示路径
- 初始同步以防止 NAND 快闪记忆体被覆盖
- 用於重新启动正确同步的布林标志
- 对全域与预设 NAND 位置的动态理解
- 基地位置确定逻辑
取得缓冲区历史记录的实作
PR:(nvnflinger 修复)
- GetBufferHistory 已在 nvnflinger 服务中实作
- 防止因缺少缓冲区历史资料而导致的游戏卡死
使用者介面
- 修复 FPS 计数器闪烁问题
- 已修复半帧率报告问题
- 更流畅的帧时间显示
- 关闭时进行适当的覆盖层清理
- 防止殭屍叠加进程
- 模拟停止时释放资源
- 停止模拟时,正确释放和回收记忆体
- 游戏停止後减少记忆体占用
- 针对 MSVC 和 Android 平台上的 core.cpp 编译器进行了修复
- UI 元素采用一致的强调色
- 搜寻字段样式改进
- 游戏列表颜色一致性
- 配置对话框中的按钮设计进行了现代化改造
- 浅色/深色主题文字修复
- NavigateToGamedbEntry 由於我们已实施内建并维护的 GitHub 相容性列表,
因此删除了冗余内容
- 自动相容性报告
- 与 GitHub 进行远端列表同步
- 修复 QString 处理包含特殊字元的游戏名称的问题
- 改进 GitHub 解析逻辑
- 现在游戏过程中可以使用解锁帧率快捷键(Ctrl+U)
- 正确的快捷键注册和处理
服务与 HLE
- 家长监护服务 (PCTL)
- 为韧体 18.0.0 及更高版本实作了服务存根
- QLaunch 相容性要求
- 为韧体 20.0.0+ 实作了介面存根
- 应用程式枚举支援
- 已实作,SetVerifyOption 而非存根
- 改进的 SSL 凭证处理
- QLaunch 支援的各种服务实作
- 事件处理改进
错误修复
- 图书馆小程式冻结
* 修复库小程式中的控制器冻结问题
- 快速启动挂载
* 延迟启动 EmuThread 以修复快捷方式启动
- CLI 启动挂载
* 主游戏循环的延迟游戏启动
- 堆叠耗尽
* 防止递归储存镜像当机
- 竞赛条件
* 保存镜像中的多线程修复
- 显示记忆体泄漏
* 综合显示记忆体管理系统
图形修复
- 黑色方块
* 移除导致伪影的 alpha_to_coverage
- TAA AMD 噪讯
* AMD GPU上的修复时间抗锯齿
- 未映射记忆体
* 优雅地处理未映射区域
平台修复
Linux
- Clang 编译
* 多个 Clang 严格规则修复
- PGO 档案路径
* 修正 Clang PGO Linux 档案路径命名问题
- Linux 命令列介面
* 修复 CLI 更新功能
Windows
- MSVC 浮点数
* 新增浮点数要求类型转换
Android
- Android 静态转换
* 修正多个针对警告的 static_cast 问题
* 阻止模拟运行时进行 RomFS/ExeFS 转储
* 使用作用域储存处理外部储存权限
* 双精度浮点数到静态型别转换
macOS
- macOS 输出显示
* 静态型别转换要求
[基础设施和建造系统]
CMake 更改
- 已将模组下载器档案新增至建置中
- 已将外部二进位档案切换到 yuzu-mirror
- QLaunch 服务的建置配置更新
依赖关系
- 更新 Vulkan 子模组
- 外部依赖组织
代码品质
- 已移除未使用的标题 ID
- 多人游戏组件中的程式码清理
- 统一的程式码格式
已知问题
- QLaunch 支援尚处於实验阶段,可能无法相容於所有系统配置
- 部分游戏在迁移过程中仍可能遇到与新存档路径系统不相容的问题
- 不同 GPU 厂商的 CRT 着色器可能有细微的视觉差异
[升级说明]
保存资料迁移
如果是从 0.12.25 版本升级:
- 升级前请备份存档
- 新的存档路径系统将自动侦测现有存档
- 配置自订储存路径 Emulation → Configure → Filesystem
- 如果您希望自动备份到辅助位置,请启用镜像功能
设定更改
- VRAM GC 激进程度简化为仅关闭/轻度
- 现在可以透过 JSON 汇出共享每个游戏的设定
新增权限(Android)
- 新增了对具有作用域储存支援的外部储存目录的读取/写入/管理权限
https://git.citron-emu.org/Citron/Emulator/releases
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.255.122.211 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Emulator/M.1769949309.A.ABE.html
※ 编辑: playlive (111.255.122.211 台湾), 02/01/2026 20:43:56