Re: [問題] 請教如何增加這段 code 之 cache hit ?

看板C_and_CPP作者 (Achilles)時間11年前 (2013/04/30 15:35), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《EdisonX (卡卡獸)》之銘言: : for( i = 0 ; i < h ; ++i){ : for(j = 0 ; j < w ; ++j) { : dst[j][h - i] = src[i * w+ j]; : } : } 我不是很懂你的環境, 所以我隨便講講, 你也隨便聽聽, 看有沒有幫助. 依你的敘述, 以及上面那一段 你只是把 data 從 src[], copy to dst[][]. 這應該很快. : --- 補充 --- : 補充一下,我在「猜」瓶頸可能是使用了 bcb 裡速度慢的 Componment, : 原始碼整理過後大致是這樣 : TImage * img; : for( i = 0 ; i < h ; ++i){ : for(j = 0 ; j < w ; ++j) { : img->Canvas->Pixel[j][h-i] = \ : (TColor) src[ i * w + j]; : } : } 我不懂你的 img, Canvas, Pixel, TColor, src 是定義在甚麼. 不過, 如果你是做 image color mapping, 那麼你每次在 copy every pixel, 都要去呼叫這個 color mapping 函式. 也許是在這邊有問題. : 還是這部份最後自己手動搞,再呼叫底層 API 去做是最直接有效的方式? : 附上回覆,先謝謝各位耐心看完問題。 不, 先去讀讀 example, 再考慮看看情狀. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 76.170.76.183

04/30 18:14, , 1F
說了是 bcb @@ 謝謝您的意見。
04/30 18:14, 1F

04/30 20:05, , 2F
這不是什麼都沒講 TImage,TColor goo前幾個就有
04/30 20:05, 2F

05/01 01:20, , 3F
I don't use bcb, so it's not my problem to solve it
05/01 01:20, 3F
文章代碼(AID): #1HVtHHvy (C_and_CPP)
文章代碼(AID): #1HVtHHvy (C_and_CPP)