作者 jhangyu (jhangyu)
標題 Re: [閒聊][更新]Halcyon,自己開發GPU加速的超快看RAW軟體
時間 Mon Oct  5 00:09:16 2026


回一下之前的文,花了幾天把之前大家遇到的bug都修的差不多了

主要是Windows作業系統和Unix系的系統行為不太一樣,多花了一些時間除bug
目前主要更新內容和修正如下:

1. 新增支援Nikon Z8/Z9的Nef He/He* 壓縮RAW解碼
2. 解決Windows透過檔案總管啟動程式時無法正常解RAW的問題
3. 解Raw後的中繼格式從RGB8改成YUV420,大幅降低記憶體用量
4. 現在解Raw Process結束後會自動釋放記憶體, 閒置記憶體用量約為700~900MB
5. 新增Windows/Linux ARM64架構硬體原生支援
6. 大幅重構程式碼讓多平台實作統一

希望能解決大家的問題,再請各位試試看囉!
如果有其他我沒有測出來的bug歡迎提報,謝謝大家!

下載連結:
https://github.com/jhangyu/halcyon/releases
Releases ·  jhangyu/halcyon ·  GitHub
Flutter RAW/JPG photo triage tool — browse, star, batch copy/move; pure-Dart RAW preview pipeline with serial decode lane - Releases ·  jhangyu/halcyon ...

 

Mac使用者記得要關閉safekeeper才能使用喔!
https://electrify.tw/disable-macos-gatekeeper
如何解決 Mac 無法打開應用程式?設定允許來自未識別的開發者 - electrify.tw 除了在 App Store 下載應用程式外,有時會需要在 Mac 上安裝第三方軟體,例如迅雷,非常熱門的 P2P 下載工具。然而迅雷沒有在 App Store 上架,因此從中國官網下載 DMG 檔解開安裝時,會跳出「無法打開「迅雷」,因為它不是從 App Store 下載 / 來自未識別的開發者」的 ...

 

※ 引述《jhangyu (jhangyu)》之銘言:
: 由於市面上一直沒有好用,專門用來快速過片的看RAW軟體
: 很久以前買的Fastpicture Viewer,現在作者已經完全失蹤無法啟用
: macOS買過幾套,Photo Mechanic最接近,速度夠快但UI難用,價格也很貴
: 而且對沒有內嵌全尺寸jpg的RAW就沒轍
: 剩下所有App都是用LibRaw那套緩慢的CPU解碼,讀圖超慢,切一張要等2~4秒
: 而且解出來的顏色超怪超灰
: 無奈之下年初只好決定自動開始動手「詠唱」一個出來
: 先從解碼kernel開始改造:
: 把LibRAW和Adobe DNG SDK後端的去馬賽克和光學校正的耗計算資源的步驟用halide重寫
: 以同時支援macOS的Metal,和Windows/Android/Linux支援的Vulkan
: 經過多次試錯後目前已經成功將沒有預覽內嵌的Sony ARW檔案解碼時間壓在73ms
: 然後再把kernel串進用Flutter寫的App UI
: 畫UI、定義資料流向、改記憶體調度策略,讓解碼過程儘可能沒有瓶頸
: 目前已經成功實現可以1秒解碼27-33張RAW檔 (檔案要放SSD,要不然讀取速度會變成瓶頸)
: 可以逼近某些軟體純讀JPG的顯示速度了!
: App的長相如下:
: https://bit.ly/3V8c0EQ
: 目前做的功能主要是快速篩選:
: 快速鍵可以按x標記要刪除的照片; 或是按s標記要特別複製的照片
: 然後可以按左下角的Action
: 將剛剛標記的照片"刪除"(Recycle模式是移動到".trash"資料夾)
: 或是移動到其他位置,或是匯出成其他尺寸和格式
: https://bit.ly/4h1UEAP
: 同時也有快速EXIF批次重新命名的功能:
: https://bit.ly/4xW7Hv0
: 也可以切換佈景主題:
: https://bit.ly/3T7x9yr
: 最後是要特別注意的效能設定的地方:
: 由於解RAW真的很吃記憶體
: 一個RAW解壓後48mb-> 展開成RGB三層*3 -> 一個解碼槽基本上需要 48*(1+3) = 192mb
: 所以目前App預設平行解碼數為2 預估解碼時所需峰值記憶體為800m~1G
: 解碼完會自動吐回
: https://bit.ly/46nJTUF
: 如果記憶體夠,想要更快的解碼速度可以自己改成4或是8
: 不過可能尖峰會用到4~5G記憶體就是,要特別小心
: 主要功能大致就是這樣,把挑片的核心功能做到最快
: 希望能幫到一些常常需要過片挑片的攝影師們~
: 如果想要閱讀其他細節可以看這裡:
: https://github.com/jhangyu/halcyon/blob/main/README.zh-TW.md
: 我就不在這邊多廢話了
: 下載的話可以直接從Release這邊下載最新版
: https://github.com/jhangyu/halcyon/releases
: 同時支援Windows/macOS(x64+arm)/Linux
: (因為沒有買Apple開發者簽名, 使用macOS的大大要記得去隱私那邊設定強制打開)
: 未來有打算再增加編譯Windows Arm和Linux的Arm架構
: 至於手機端的話...是有設計UI了
: 但...應該沒什麼人會用手機挑RAW吧?
: 之前測試Android即使有用GPU解碼一張似乎也要500ms(半秒)
: 可能之後有機會有需求再做吧~
: 希望大家可以試用看看!
: 我會繼續想想怎麼最佳化記憶體的~

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 104.28.200.15 (臺灣)
※ 作者: jhangyu 2026-10-05 00:09:16
※ 文章代碼(AID): #1gmdekiI (DSLR)
※ 文章網址: https://www.ptt.cc/bbs/DSLR/M.1791130158.A.B12.html
※ 編輯: jhangyu (104.28.200.15 臺灣), 10/05/2026 00:11:42
推 haha58: 讚1F 10/05 01:46
推 yoyohu: 測試完win10可以解raw了 nef很快 但arw軟體會卡住當機
nef解完看起來顏色細節跟原本內嵌jpg一樣? 他真有解嗎 哈2F 10/05 02:16
→ jhangyu: 卡住的話,就要看記憶體夠不夠或是內顯是甚麼了
解RAW瞬間可能會需要3GB的記憶體,跑完會釋放
RAW如果有內嵌JPG而且尺寸夠大就會先用內嵌JPG
如果沒有內嵌JPG或是尺寸不夠大才會調用GPU解RAW4F 10/05 07:15
推 Gaidiac: 推8F 10/05 15:24
推 aal: 試用心得,速度超快,但是操作上有一點不順手。舉例,大量RAW要篩選的時候左手要放x標註,右手用鍵盤快速換張,但是如果要局部放大又要回到滑鼠。比較理想是左手在鍵盤右手在滑鼠,譬如左手可以同時標註和換張。或是讓滑鼠可以換張(滾輪)和放大(左手同時按ctrl鍵)。以上只是建議,也許有某些熱鍵我沒發現軟體很好,謝謝9F 10/05 20:02
→ jhangyu: 感謝試用!
我思考一下怎麼做可以更順手
其實主要核心問題解決後UI和操作都是小事,不難解決~15F 10/05 20:50
推 shinwanwan: 想問一下原PO z8z9 壓縮raw是怎麼處理的,之前issue raw-alchemy作者說這部分沒辦法解碼,謝謝18F 10/05 21:37

--
作者 jhangyu 的最新發文:
點此顯示更多發文記錄