github AimesSoft/NipaPlay-Reload v1.10.8
Release v1.10.8

7 hours ago

NipaPlay v1.10.8 更新日志

新功能

英文界面支持 (#600)
新增完整英文翻译,覆盖 512 个界面文本条目,可在设置中切换为英文显示。关联:#598

自动加载外部 MKA 音轨 (#561)
播放本地视频时,自动检测并加载同目录下同名的 .mka 外部音频文件,支持 MDK 和 MediaKit (Libmpv) 双内核。外挂音轨会显示 [外挂] 前缀并附带编解码器、声道、采样率等详细信息,方便识别和选择。快速切换视频时不会发生音轨串音。关联:#560

远程媒体库支持 ASS 字幕自定义字体与外挂 MKA 音轨自动加载 (#567)
远程共享媒体库播放时,ASS 字幕所需的自定义字体(如思源黑体)和同名 MKA 外挂音轨现可自动发现、下载并加载,字幕渲染与音轨选择体验与本地播放一致。MKA 采用流式下载,解决大文件传输中断问题。关联:#568

实验性弹幕引擎 DFM+(B 站 DanmakuFlameMaster 移植) (#562)
实验性移植了 B 站开源弹幕引擎 DanmakuFlameMaster,命名为 DFM+,可在实验室设置中与 Nipa Next2 引擎一同开启体验。

macOS 菜单栏迁移至 PlatformMenuBar (#565)
macOS 菜单栏从原生 Swift/XIB 实现迁移至 Flutter PlatformMenuBar API,导航菜单快捷键现可根据当前可见标签页动态调整。关联:#564

JS 插件弹幕相似度查重引擎 (#574)
引入基于 pakku.js 的高性能 C++ 弹幕相似度查重引擎,通过 Dart FFI 为 JS 插件提供 danmaku.checkSimilarity / danmaku.pairSimilarity 原生同步调用接口,大幅提升弹幕合并与去重的精度和性能。同时修复了 Windows 下 DLL 加载时因拼音字典触发 Loader Lock 导致的死锁/闪退问题。关联:#573

C++ 弹幕布局引擎 (#577)
将弹幕轨道分配、碰撞检测、时间轴检索等高频计算下沉至 C++20 原生层,通过 Dart FFI 桥接,显著降低高密弹幕场景下的 CPU 占用和 Dart GC 掉帧。原生初始化失败时自动无缝降级至纯 Dart 路径。关联:#576

番剧评论系统(Cupertino 主题) (#569)
Cupertino 主题下新增番剧评论系统,使用弹弹play API 作为评论接口回退(触发条件:请求错误/内容异常/超时 4 秒)。

网络诊断与 API 可用性检测 (#584)
网络设置中新增"网络诊断"功能,可检查弹弹play 和 Bangumi API 的当前可用性,并在应用启动时自动完成检测。当仅弹弹play 可用时,评论系统将直接回退,避免 4 秒超时等待。

自定义 Bangumi 镜像地址 (#596)
现已支持在设置中配置自定义 Bangumi API 镜像地址,适合网络访问受限的用户。

关于页面显示构建目标架构 (#606)
关于页面版本信息后新增构建目标标注(如 Arm64 iOSX64 Windows),Material 与 Cupertino 主题共用同一渲染逻辑。

Android SAF 本地媒体库支持 (#599)
Android 端本地媒体库扫描现支持通过 SAF(存储访问框架)访问 SD 卡和 USB 存储中的目录,无需将 content:// URI 转换为文件路径即可完成视频匹配与扫描。关联:#595


体验改进

DFM+ 弹幕引擎全面优化(第二轮) (#575)
对 DFM+ 引擎进行了大规模性能优化,包括碰撞检测去冗余中间层、帧缓存方案修正、FxHashMap 替换标准库 HashMap、LRU 淘汰 O(1) 化、弹幕按类型分组处理提升缓存局部性、Flutter 侧帧调用量化对齐等,整体大幅降低 CPU 和内存开销。

弹幕超采样抗锯齿(平板与桌面端) (#581, #587)
iPad 及 Android 平板设备上,Next2 和 DFM+ 弹幕引擎现采用 2 倍超采样渲染,消除高 DPI 屏幕上弹幕文字的锯齿问题。桌面端(Windows 等低 DPR 平台)同样开启 2 倍超采样,并一并修复了 DFM+ 引擎多项布局 Bug(包括左→右弹幕位置计算错误、固定弹幕满轨行为异常、碰撞检测不完整等)及多项性能优化。

弹幕时间精度与渲染管线优化 (#602)
通过 Ticker 微秒级时钟插值锚定播放位置,消除整数毫秒导致的 16/17ms 交替抖动;移除 Dart 侧 60fps 量化限制,120Hz+ 屏幕不再跳帧;DFM+ 布局计算改为 Dart 同步执行,消除微任务延迟;移除 Rust 侧帧缓存,每帧直接计算,整体改善滚动弹幕流畅度。

相似度引擎迁移至 C++ 原生层 (#583)
将弹幕查重相似度引擎从 Rust-C++ FFI 架构完整迁移至直接 Dart 到 C++ 原生调用,降低多语言桥接复杂度,并修复了迁移过程中 JSON 序列化导致的弹幕去重插件崩溃问题。

ARM Linux 中文显示与 JS 插件运行时修复 (#591)
修复 ARM Linux 下界面中文字符不显示的问题,并内置 QuickJS C 桥接源码以支持 ARM Linux 平台的 JS 插件运行时。

移动端弹幕横向铺满修复 (#597)
修复 Next2 / DFM+ 弹幕内核在手机端无法横向铺满的问题,统一了 overlay viewport 计算逻辑。iOS 端 Cupertino 主题默认隐藏"下载器"设置入口,仅在启用下载器解锁插件后显示。

Windows 端显存共享绘制路径完善 (#601)
Next2/DFM+ 弹幕内核桌面端新增 Windows DXGI shared-handle / wgpu D3D 显存共享绘制路径,避免 CPU 像素缓冲拷贝;修复番剧详情页文本样式异常横线问题,恢复正文正常字重。


Bug 修复

修复弹幕合并功能播放一段时间后静默失效 (#579)
修复使用原生相似度引擎合并弹幕时,因 Rust 桥接层索引越界导致合并功能逐渐失效的问题,通过引入双向索引映射机制彻底解决。

修复 SMB 媒体库缺少弹幕匹配入口 (#580)
修复 SMB 媒体库管理界面中"批量弹幕匹配"和"手动匹配弹幕"按钮缺失的问题。关联:#566

修复 Linux deb 包缺失依赖问题 (#571)
rust_lib_nipaplay 恢复为 FFI plugin,修复 v1.10.5 之后 Linux deb 包错误依赖系统库 "lib nipaplay" 导致安装失败的问题。

修复 Windows 开发者选项系统资源监控重复弹出 PowerShell (#572)
Windows 端系统资源监控改用 Win32 原生 API 实现,修复反复弹出 PowerShell 窗口的问题。

修复 Linux Next2/DFM+ 弹幕纹理桥接崩溃 (#592)
修复 Linux 下 Next2/DFM+ 纹理桥接因原生插件状态构造不正确及 BGRA 拷贝长度 ABI 不匹配导致的崩溃,并补全多处 CJK 字体 fallback 覆盖(番剧详情、性能 HUD、下载器、账号页)。

修复 Linux ARM64 视频输出蓝屏 (#593)
Linux ARM64 平台默认禁用 libmpv OpenGL 纹理渲染,改用软件像素缓冲渲染,修复视频输出蓝屏问题。


维护与发布流程

  • 更新 README 文档,补充 JS 插件系统、Rust+Dart 混合架构、SMB 媒体库支持、AI 防剧透功能说明,移除 Anime4K/CRT 实验性标记,完善功能列表结构。(#558, #559)
  • 新增开发者选项 UI 预览窗口,提取并复用主标签栏组件,统一悬停按钮实现。(#557)
  • 修复 iOS App.framework Info.plist 缺少 MinimumOSVersion 导致 App Store Connect 上传验证失败的问题。(#563)
  • C++ 编译器开启全量 warning 并启用 LTO,修复相关编译警告。(#578)
  • 对齐 C++/Rust 编译器目标架构优化标志(x86-64-v3、armv8.2-a),重构 macOS 通用二进制构建流程,提升 CMake 构建健壮性。(#603)
  • 修复 Web 平台 SimilarityEngine stub 缺少 probeNativeBinding 方法导致的静态分析失败。(#585)
  • 查重引擎默认配置与 pakku.js 完全同步,重构 CMake 构建配置,清理 C++ 编译警告。(#589)
  • 升级 Rust openssl 依赖至 0.10.80,修复安全漏洞。(#605)
  • 修复 Android APK 构建失败问题。(#607)
  • 版本号升级至 1.10.8。

Contributors

@Copilot, @FurudeRika123, @Heylyx841, @MCDFsteve, @Shinokawa, @makabaka11

Don't miss a new NipaPlay-Reload release

NewReleases is sending notifications on new releases.