Re: 如何增進你的程式演算法?

看板C_Sharp (C#)作者 (猜猜偶素隨 ? ^*^)時間14年前 (2011/01/04 01:00), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《tomex (tomex)》之銘言: : 想要增進你程-式的演算效能,必須有超越一般正規運算的規則 : 我舉個例: : 10到18間隨便取一數字a,然後減掉9,等於b : a-9=b : 這樣的express給電腦算很快,給人腦算就有1秒的delay了: : 15-9=? : 17-9=? : 13-9=? : 嘿,你現-在於大腦作運算的一秒內,就是屬於一般正規的演算法 : 但有一個更棒的演算法,就是把a的十位數+個位數,就等於b : 15-9 = 1+5 = 6 = b : 17-9 = 1+7 = 8 = b : 以上的例子很奇妙吧? 雖然這例子處理的range不大,規則套用也有限 : 但我相信其他複雜的數學運算背後,一定會有另一套規則求算~ : 這就是建構式數學奇妙的地方! 無意間看到這篇 ~ 雖然很久以前的文了 順路回一下XD 之前為了處理MFC中的GDI繪圖 做出類似 特訓99 的效果(很多子彈在視窗中亂竄) 因為不曉得GDI物件透明比較正規的做法 於是嘗試了很多GOOGLE來的辦法 從用別人寫的透明貼圖函數 換到memdc (用記憶體畫) 最後參考別人做遊戲提到用 dirty rectangle等等方法 甚至各種方式搭配使用...效果都不是很好 最後回歸到畫圖的根本...用算圖的方式 不過這應該跟圖學、影像處理有關了...當初沒學現在繞了好一大圈 :( dirty rectangle 的方法就有點像 先減後加(原圖子彈位置保留 在貼到新圖上) 而算圖的方法很簡單 原理大概就直接把子彈位置相加即可 其實不僅僅少了大量的DC運算 也不用減法而是加法 對CPU來說減輕許多負擔 效能也因此大大提升 碰巧最近C#的案子又遇到類似的問題 不曉得各位有沒有更好的大量物件在視窗中移動的辦法? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.105.196.238

01/04 02:00, , 1F
改用 WPF 如何? 有硬體加速
01/04 02:00, 1F
文章代碼(AID): #1D8W2GbO (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #1D8W2GbO (C_Sharp)