[新聞] Citron v0.7.1

看板Emulator (模擬器)作者 (???)時間1月前 (2025/10/03 20:49), 3周前編輯推噓1(101)
留言2則, 2人參與, 3周前最新討論串1/1
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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.127.146 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Emulator/M.1759495757.A.2D4.html ※ 編輯: playlive (111.255.126.69 臺灣), 10/12/2025 00:13:59

10/12 14:03, 3周前 , 1F
哇,這版好神阿,讀取速度大加強,快完美了
10/12 14:03, 1F

10/13 21:57, 3周前 , 2F
0.8會突然發熱
10/13 21:57, 2F
文章代碼(AID): #1etyPDBK (Emulator)
文章代碼(AID): #1etyPDBK (Emulator)