[新闻] Citron v0.8.0 (10/11更新)

楼主: playlive (player)   2025-10-03 20:49:13
CITRON v0.8.0
以下是机翻润饰
主要游戏相容性更新
BOTW 和 TOTK 支援 - 突破性更新
此版本与最新游戏版本完全相容:
萨尔达传说:旷野之息 v1.8.2 - 现已全面支援!
萨尔达传说:王国之泪 v1.4.2 - 解决启动循环和控制器当机问题!
已修复的问题:
不正确的 HID 状态实作导致的启动循环问题
游戏启动时出现“无控制器”当机
REV15 游戏的音讯劈啪声和稳定性问题
两款游戏的效能和稳定性都得到提升
[新功能]
音讯系统 - 完整的 REV15 实施
这是我们迄今为止最大的音讯更新!
REV15 核心功能
- 音讯渲染器 REV15:完整实作 SDK 版本 15 音讯渲染器,具有原生浮点处理功能
* 原生浮点双二阶滤波器,音质卓越(BiquadFilterParameter2)
* 正确处理语音输入参数 V2 格式(0x188 字节 vs. 旧版 0x170)
* 分离器目标 V2b 支援双二阶滤波器参数(0xA8 字节)
* 采用 FP16/FP32 最佳化的多抽头双二阶滤波器处理
* 双系数储存:同时保持浮点和定点以实现相容性
HID 采样数修复(关键)
- 修正了启动循环错误:HID 原子储存采样数现在正确地将输入状态值加倍
- 解决 SDK20 游戏中的控制器侦测问题
- 修正了导致 TotK v1.4.2 和 BotW v1.8.2 无法启动的问题
新的音频子系统
- AudioSnoopManager:DSP统计与效能监控系统
* 即时 CPU/DSP 使用情况追踪
* 语音投放和命令投放计数
* 缓冲区欠载/溢出检测
- AudioSystemManager:Applet 音讯状态管理
* 暂停/恢复对小程式转换的支援
* 主音量控制(输入/输出/录音)
* 调试悬吊功能
* 小程式资源用户ID注册
- FinalOutputRecorder:完整的输出记录实现
* 用于音讯撷取的共享环形缓冲区
* ITU-R BS.1770 响度测量支援
* 工作缓冲区管理和缓冲区生命周期
音讯处理增强功能
- FFT(快速傅立叶变换):Cooley-Tukey 算法实现
* 实数到复数和复数到实数的变换
* 具有逆支援的复数到复数变换
* 适当的位元反转和工作缓冲区管理
- 响度计算器:专业响度测量
* 符合 ITU-R BS.1770标 准
* LUFS(响度单位全量程)测量
* 具有层架和高通级的 K 加权滤波器
* (400 毫秒)、短期(3 秒)和综合响度
- 限制器效果:全功能动态处理器
* 攻击和释放时间控制
* 阈值和比率参数
* 妆效增益补偿
* 具有峰值检测的包络跟随器
- 音讯设备增强功能:
* 设备获得对 AudioInSystem 的支援
* 改进的缓冲区管理实用程序
* ADPCM 辅助函数
[视觉增强]
ScaleFX 滤镜- 全新像素艺术升级
- 基于边缘侦测的像素艺术升级算法
- 保留锐利边缘,同时减少像素化
- 六种模式检测类型(水平、垂直、对角线)
- 可配置强度的次像素抗锯齿
- 角落处理以提高品质
- OpenGL 和 Vulkan 均可使用
- 用于硬件最佳化的 FP16/FP32 变体
- 基于 libretro 的 ScaleFX 实现
- 非常适合低分辨率游戏和像素艺术风格
Lanczos 滤波器- 高品质重采样
- 专业级重采样滤波器
- 基于 Sinc 的插值,可实现最大清晰度
- 极少的振铃效应
- 非常适合整数缩放场景
0.25X 四分之一分辨率- 极限性能模式
- 以 180p/270p 渲染,实现 720p/1080p 原生
- 渲染速度提高四倍
- 非常适合超低阶硬件
- 性能测试和分析
- 标记为实验性(可能会造成视觉伪影)
效能监控
- CPU 与 GPU 温度显示(Linux):即时硬件温度监控
* 颜色编码的温度指示器
* 桌面和 Android 支援
* 非侵入式覆蓋整合
- 电池百分比(Android):效能覆蓋中的电池状态
* 充电百分比显示
* 充电状态指示灯
* 温度和电池资讯
效能 - 设定档引导最佳化 (PGO)
推出 PGO 建置系统 - 效能提升 10-30%!
- 两阶段最佳化过程:
* 第 1 阶段:仪表化建构收集运行时分析数据
* 第 2 阶段:最佳化建置使用设定档资料进行智慧最佳化
- 多编译器支援:
* MSVC 和 FASTGENPROFILE 可实现快速分析
* 带有设定档产生/设定档使用的 GCC
* Clang 与 llvm-profdata 整合
- 自动建置脚本:
* pgo-build.ps1适用于 Windows (PowerShell)
* pgo-build.sh适用于 Linux/macOS(Bash)
* fix-pgo-dll.ps1解决 MSVC DLL 问题的实用程序
- CMake整合:
* DCITRON_ENABLE_PGO_GENERATE=ON 用于分析构建
* DCITRON_ENABLE_PGO_USE=ON 最佳化建置
* 自动 PGO 执行时期 DLL 侦测与部署
[改进 ]
音讯系统架构
REV15实作细节:
- 双二阶滤波器处理:
* 为维持相容性,保留旧定点 Q2.14 转换
* REV15+ 游戏的原生浮点处理路径
* 带夹紧的适当系数转换
* 增强过滤器状态初始化
* ApplyBiquadFilterFloat2() 对于本机浮点系数
- 命令生成:
* 浮点和定点处理之间的智慧选择
* 透过行为标志自动侦测 REV15 功能
* 针对 REV10+ 游戏的多抽头双二阶最佳化
* 与语音和效果情境的适当整合
- 参数处理:
* VoiceInParameterV2 结构(0x188 字节)用于 REV15 语音
* InParameterVersion2b(0xA8 字节)用于拆分器目的地
* 双储存系统:biquads(s16)和biquads_float(f32)
* 混合修订支援的适当步幅计算
UI/UX改进
- 可调整的配置视窗:可调整大小的设定对话框,具有适当的卷动支援
- 图形和系统选项卡修复:正确的调整大小和滚动行为
- 强调色系统:可自订的 UI 主题和强调色
- 列布局:改进游戏清单列组织
- 状态管理 UI:增强的保存状态接口
建置系统和编译器支援
- Clang 编译器支援:完整的 Clang 编译,支援 LTO
* 修复模板实例化问题
* 已解决警告抑制问题
* 正确的属性处理
- MSVC 改进:
* 修复了 QColor 呼叫中的 C4305 截断警告
* __builtin_assume_aligned 已停用 C2375 重新定义警告
* 正确的 PGO 运行时 DLL 处理
- CMake 增强功能:
* 便携模式的自动用户目录创建
* 改进的依赖管理
* 更好的跨平台配置
平台支援
- Android 增强功能:
* 修复了 RAM 覆蓋中的即时当机问题
* 电池百分比和温度显示
* 改善资源处理
- Qt框架:
* 修复 QImage::mirrored()用法(错误地使用不存在的 flipped())
* 正确的状态变化处理
* 更好的事件管理
[错误修复]
关键修复
- TotK/BotW 启动循环:修正了 HID 采样数不符导致游戏启动的问题
* 原子储存采样数现在正确地使状态值加倍
- 控制器侦测:透过修复原子储存状态解决了“无控制器”当机问题
* 环形 LIFO 中的正确 SamplingNumber 传播
* 修复 SDK20 游戏控制器初始化
- 释放后使用错误:解决了核心系统中的内存安全问题
- Android RAM Overlay 当机:修复启用 RAM 显示时立即当机的问题
[音讯修复]
- REV15 相容性:原生浮点双二阶处理可防止音讯失真
- 混合参数验证:在脏参数模式下新增了混合计数的边界检查
- 分离器浮点系数:正确储存并套用分离器中的双二阶滤波器
- 音讯稳定性:修复 REV15 游戏中的当机和劈啪声
[编译修复 ]
- Clang 警告:解决了所有 Clang 编译警告
- MSVC 截断:修复颜色转换中的 C4305 警告
- Discord RPC:应用了 wclass-memaccess 修复补丁
- RapidJSON:编译器相容性补丁
- STB 影像:溢出修复补丁(CVE 缓解)
[UI修复 ]
- 配置视窗滚动:所有选项卡中的正确滚动行为
- Qt 垂直布局:修复了弃用的值用法
- 状态改变事件:正确处理 checkStateChanged
- 主题应用程式:正确的 theme.h 包含和初始化
[建置系统修复]
- 环形缓冲区对齐:稳定且可预测的 64 字节对齐
- 动态 Fastmem:删除了 MSVC 特定的指标分配
- 补丁应用:修正补丁中的 -p0 标志使用
- 版权标题:为新档案新增了适当的 SPDX 标题
[技术改进]
程式码架构
浮点系数储存:
- 双二阶滤波器的双储存系统可保持精度
* 旧版(REV1-14)的旧 s16 定点
* f32REV15+ 精确度的原生浮点数
* 自动选择依据 IsVoiceInParameterV2Supported()
- 完全保持向后相容性
拆分器上下文增强:
- V2b参数格式支援(0xA8字节)
- 分离器目的地中的双二阶滤波器存储
- 正确处理扩展参数结构
- splitter_float_coeff_supported 旗帜管理
类型安全:
- 新增 use_float_biquads 和 use_float_coefficients 标记
- 参数结构的适当范围管理
- 增强参数解析的错误处理
- 消除变量阴影问题
[着色器系统 ]
ScaleFX 实作:
- 6 种边缘侦测模式(水平、垂直、对角线)
- 可配置强度的子像素抗锯齿(SFX_SAA)
- 颜色阈值调整(SFX_CLR = 0.35)
- 角落处理以提高品质
- FP16 最佳化,支援 AMD/NVIDIA 扩展
Lanczos 改进:
- 最佳化的 sinc 函数计算
- 改进的视窗函数
- 更好的边缘处理
[效能最佳化]
- PGO 基础架构:设定档引导最佳化,实现 10-30% 的收益
- 温度监控:停用时零开销
- 缓冲区管理:最佳化环形缓冲区实现
- FFT处理:高效的 Cooley-Tukey 算法
https://git.citron-emu.org/citron/emulator/-/releases
=====================================================
Citron v0.7.1
以下是机翻润饰
新功能
[输入和控制]
- 鼠标滚轮支援:增加了鼠标滚轮支援,用于游戏输入直通,改善桌上游戏体验
- 六轴传感器验证:增强六轴传感器验证和错误处理,以提高控制器稳定性
[视觉增强]
- VRAM 监控覆蓋:添加了现代 VRAM 监控覆蓋,具有干净、整洁的 UI
- 时间抗锯齿 (TAA):为 OpenGL 和 Vulkan 渲染器实现 TAA 支援
- 效能覆蓋改进:增强了效能覆蓋,具有拖曳行动功能和 Wayland 相容性
[音响系统]
- Audio REV13 渲染器:新增了 REV13 音讯渲染器支援,以提供更广泛的游戏相容性
- 音讯稳定性:主要的音讯稳定性改进和当机修复
- Audio REV15 渲染器:仍在积极开发中
[VRAM 管理]
- 高阶 VRAM 模式:新增了高阶 VRAM 模式,具有最佳化的内存使用率
- 疯狂 VRAM 模式:实作了疯狂 VRAM 模式,带有泄漏预防机制
- 低 GPU 精度设定:新增了低 GPU 精准度设定,以在较低阶硬件上实现最大效能
[平台支援]
- Qt6 迁移:透过 aqtinstall 3.3.0 整合完成到 Qt6 的迁移
- Wayland 最佳化:新增了 Wayland 特定的 UI 最佳化和效能改进
- Linux 编译修复:解决了各种 Linux 编译问题和 X11 宏冲突
改进
[建置系统和 CI/CD]
- GitLab CI 大修:透过改进的建置配置对 GitLab CI 管道进行彻底改造
- Android 建置修复:修复了 Android 建置配置和依赖项
- 跨平台编译:解决了 Linux、Android 和 Windows 平台的编译问题
- Boost Process Integration:改进了 Boost.Process 整合,并带有可选的组件处理
[着色器重编译器]
- ISBERD 指令:实作 ISBERD 指令用于内部阶段缓冲区读取(有适当的错误处理)
- 0.7 和 0.7.1 ISBERD 实现的视觉比较
[内存管理]
- ZBC Clear 支援:新增了 OpenGL ZBC 清晰支援并重构了 ZBC 管理系统
- 内存泄漏修复:修复多个内存泄漏并提高稳定性
- VRAM 泄漏预防:在疯狂模式下增强 VRAM 泄漏预防
[服务实作]
- NIM 服务:NIM(网络接口管理)服务已正确实作
- SSL/TLS 服务:SSL/TLS 服务实作完整,并包含适当的错误处理
- ACC:U0 服务:已根据 SwitchBrew 规格实作缺少的 acc:u0 函式
错误修复
[关键修复]
- 空指标取消引用:修正了 patch_manager.cpp 中的关键空指标取消引用
- 内存泄漏:解决了各个组件中的多个内存泄漏问题
- 音讯当机:修复与音讯相关的当机和稳定性问题
- 服务管理器当机:解决了服务管理器空指标导致的退出当机问题
[特定于平台的修复]
- Android 宽高比:修正 Android 上非 16:9 设定导致的宽高比当机问题
- Wayland 相容性:修复了 Wayland 特定的 UI 问题和效能覆蓋问题
- X11 宏冲突:解决了 X11 宏与枚举值和 Qt 常数的冲突
- Linux 编译:修复各种 Linux 编译问题和依赖问题
[UI/UX 修复]
- 属性视窗缩放:修复属性视窗缩放问题
- 性能覆蓋:修复了性能覆蓋的拖曳移动功能
- VRAM 覆蓋:清理 VRAM 覆蓋布局并消除视觉混乱
- Wayland UI:修复了 Wayland UI 层问题和取消切换功能
[建置系统修复]
- CMake 设定:修正 CMake target_compile_definitions 错误
- Boost Process:已解决 Boost::process 可选组件问题
- Qt MOC 产生:修正了条件编译元件的 Qt MOC 生成
- 子模组初始化:解决了 GitLab CI 中的子模组初始化失败问题
[恢复的更改]
- ISBERD 实作:由于稳定性问题,暂时恢复 ISBERD 指令实施
- 音讯增强:恢复了一些导致稳定性问题的音讯增强功能
- X11 宏修复:恢复引入新问题的 X11 宏冲突修复
技术改进
[代码品质]
- 静态转换修复:新增了正确的 static_cast 用法以确保类型安全
- 变量初始化:修复未初始化变量的问题
- 错误处理:增强跨多个组件的错误处理
[表现]
- Fastmem 指标:解决了动态中的 fastmem_pointer 类型相容性问题
- Discord Rich Presence:修正了 Discord Rich Presence 计时器和编译问题
- 环境变量:改进 SSL 和 Wayland 环境变量处理
[依赖项]
- RapidJSON:新增了 rapidjson 编译器补丁,以提高相容性
- STBI:新增了 STBI_NO_SIMD 定义以提高效能
- 自动更新程式:使用 CITRON_USE_AUTO_UPDATER 选项使更新程式功能有条件
[测试与验证]
- 增强新功能的测试覆蓋范围
- 改进的错误报告和调试功能
- 更好的当机复原机制
[已知问题]
- FSR2 实施仍处于实验阶段(如 v0.7 所述)
- 一些内核事件处理仍然需要完成
- Wayland 效能最佳化可能需要进一步调整
- BOTW/TOTK 支援将包含在下次更新中,以支援其各自的最新更新 1.8.2/1.4.2
备注:
本次发布主要着重于稳定性提升、平台相容性,以及效能强化。
FSR2 与 TAA 的实作仍处于实验阶段,请谨慎使用
https://git.citron-emu.org/citron/emulator/-/releases/0.7.1
作者: hunter0954 (阿德)   2025-10-12 14:03:00
哇,这版好神阿,读取速度大加强,快完美了
作者: a760981 (七夜刹那)   2025-10-13 21:57:00
0.8会突然发热

Links booklink

Contact Us: admin [ a t ] ucptt.com