[閒聊] 來加速一個有趣的東西吧
https://github.com/erspicu/dcraw.net.rw2/blob/master/dcraw.net/Program.cs
//----------------------------- 傳說中的 Lanczos3 縮圖演算法 ,待速度優化 start
// 參考 http://blog.csdn.net/yangzl2008/article/details/6693678 原Java Code
就是這段...
這地方擁有相當巨大的改善空間
應該是說這程式有大部分是從C移植過來的
然後Lanczos3是從Java移植過來的
有些是從C++移植過來的
當時後只是快速移植改寫過來
還沒順應C#的風格重新修正
所已裡面看起來很怪就是
不過比較有趣的是 Lanczos3 這裡
牽涉到大量頻率域轉換 速度滿差的
我還沒有花時間下去好好處理一下
另外這個地方不能亂開平行多核處理
有先後相依順序
上面有人文章提到優化的問題
我想這裡應該是比較實際而且有趣
真正需要優化而且有嚴重效能瓶頸的地方
(縮一張圖要好幾秒...酷吧)
分享給大家 有興趣玩看看吧
有幾個地方需要處理
1.浮點數計算改用特殊方式的整數計算 這是只有整數運算的硬體環境常用的伎倆
不過在X86上已經有浮點計算能力的處理器上 不知道能換到多少效能
2.改用快速頻率域轉換計算(數學沒學好,現在說不定已經是快速演算法版本了)
3.BITMAP相關存取改用低階方式讀寫,Color這東西似乎不是很理想
4.平行跟GPU加入處理 (但是要解決有些地方不能發生競逐關係)
5.許多地方改用低階bitwise去處理
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.70.79.227
※ 編輯: erspicu 來自: 61.70.79.227 (03/17 11:26)
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章