作者 jhangyu (jhangyu)標題 [閒聊] Halcyon,自己開發GPU加速的超快看RAW軟體時間 Sun Sep 13 21:17:07 2026
由於市面上一直沒有好用,專門用來快速過片的看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
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 ...
同時支援Windows/macOS(x64+arm)/Linux
(因為沒有買Apple開發者簽名, 使用macOS的大大要記得去隱私那邊設定強制打開)
未來有打算再增加編譯Windows Arm和Linux的Arm架構
至於手機端的話...是有設計UI了
但...應該沒什麼人會用手機挑RAW吧?
之前測試Android即使有用GPU解碼一張似乎也要500ms(半秒)
可能之後有機會有需求再做吧~
希望大家可以試用看看!
我會繼續想想怎麼最佳化記憶體的~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.175.174 (臺灣)
※ 作者: jhangyu 2026-09-13 21:17:07
※ 文章代碼(AID): #1gfg9OWB (DSLR)
※ 文章網址: https://www.ptt.cc/bbs/DSLR/M.1789305432.A.80B.html
※ 編輯: jhangyu (59.127.175.174 臺灣), 09/13/2026 21:26:19
推 sapporo1075: Apple M2 Max 顯示未預期的結束,無法使用。1F 09/13 22:33
macOS預設有gatekeeper, 可以用下面的方式繞過:
https://electrify.tw/disable-macos-gatekeeper
重新啟動後再啟動app,就可以去隱私那邊強制開啟app
※ 編輯: jhangyu (59.127.175.174 臺灣), 09/14/2026 00:20:12
→ n61208: 快速看RAW我都用免費開源的Honeyview4F 09/14 05:03
→ victoryuy: 我也是用honeyview 感謝開發新程式6F 09/14 10:48
→ jhangyu: Honey之前好像對無內嵌jpg raw沒轍?
還是他後來改了?7F 09/14 11:22
推 n61208: 他有出2.0版本 但不確定有沒有無jpg raw預覽9F 09/14 12:03
--