作者jhangyu (jhangyu)
看板DSLR
標題[閒聊] 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
同時支援Windows/macOS(x64+arm)/Linux
(因為沒有買Apple開發者簽名, 使用macOS的大大要記得去隱私那邊設定強制打開)
未來有打算再增加編譯Windows Arm和Linux的Arm架構
至於手機端的話...是有設計UI了
但...應該沒什麼人會用手機挑RAW吧?
之前測試Android即使有用GPU解碼一張似乎也要500ms(半秒)
可能之後有機會有需求再做吧~
希望大家可以試用看看!
我會繼續想想怎麼最佳化記憶體的~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.175.174 (臺灣)
※ 文章網址: 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 顯示未預期的結束,無法使用。 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
推 Jokering5566: 厲害,明天來試試,raw 的預覽真的好慢,你這個有 09/14 02:32
→ Jokering5566: 解決痛點 09/14 02:32
→ n61208: 快速看RAW我都用免費開源的Honeyview 09/14 05:03
推 keepgoingKH: 好厲害!先推 09/14 10:14
→ victoryuy: 我也是用honeyview 感謝開發新程式 09/14 10:48
→ jhangyu: Honey之前好像對無內嵌jpg raw沒轍? 09/14 11:22
→ jhangyu: 還是他後來改了? 09/14 11:22
推 n61208: 他有出2.0版本 但不確定有沒有無jpg raw預覽 09/14 12:03
推 user1120: 推 09/14 17:53
推 Taichun318: 推 09/14 22:58
推 helixc: 翡翠 有鳥就給讚 09/14 23:35
推 a2316574: honeyview已經停止開發了,開發商現在推的是免費/ 09/15 01:18
→ a2316574: 買斷並行的BandiView 09/15 01:18