[請益] 在Unity中執行這種功能最快的方式

看板GameDesign (遊戲設計)作者 (青柳立夏)時間2年前 (2022/03/08 15:24), 編輯推噓4(405)
留言9則, 5人參與, 2年前最新討論串1/1
工作上很常使用到像素計算排列的功能 比如說一張 texture 進來 把它的rgb反過來顯示 在unity中我現在使用 Compute shader來進行 程式碼可能會如下: float3 color = float3(0, 0, 0); for (int j = 0; j < 3; j++) { color[j] = InputImg[id.xy].rgb[2 - j]; } Result[id.xy] = float4(color, 1); 然後在C#那邊 輸入輸出都是 RenderTexture ARGB32 這樣~ 功能上都沒甚麼問題可以完成~ 但是最近在使用的裝置是 Android RK3399 效能就不敷使用了 , 重點輸出是4K解析度 想問一下 做這類功能用Compute Shader這樣做已經是最快的了嗎 如果改用unity的pixel shader之類的會更有效能嗎 ?? 希望有了解或有經驗的大大分享 >///< 感謝 ^__^ !! -- 果我們要把磁鐵棒放進線圈,    線圈會說「不!!不要過來!!」而發出阻力不讓磁鐵棒靠近。  但是如果我們要把放進去的磁鐵棒從線圈拿走,         「傲嬌是一種  線圈反而會說「我…我又沒有叫你走!!」而發出阻力不讓磁鐵棒離開。  自然現象」  這種現象不就是傲嬌嗎!                     新科科人雜誌  所以傲嬌這東西根本不是新梗,19世紀就有科學家發現傲嬌了。     /民明書房 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.104.205 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1646724246.A.8CA.html

03/08 20:40, 2年前 , 1F
unity沒有matrix transform之類的功能?
03/08 20:40, 1F

03/08 23:35, 2年前 , 2F
試試看用task或thread,平行處理
03/08 23:35, 2F

03/10 05:45, 2年前 , 3F
如果只是要單純顯示這個效果
03/10 05:45, 3F

03/10 05:45, 2年前 , 4F
應該直接透過shader畫出來就好吧?
03/10 05:45, 4F

03/10 05:45, 2年前 , 5F
省下texrure在cpu端的in out
03/10 05:45, 5F

03/10 17:49, 2年前 , 6F
我沒用unity,但是看code就是針對自己的pixel做rgb操作
03/10 17:49, 6F

03/10 17:49, 2年前 , 7F
而不會需要附近的pixel資訊對吧? 那最快的就跟樓上說的
03/10 17:49, 7F

03/10 17:50, 2年前 , 8F
一樣不是嗎? 直接寫shader讓顯卡同時處理大量的pixel @@
03/10 17:50, 8F

03/11 23:07, 2年前 , 9F
CUDA
03/11 23:07, 9F
文章代碼(AID): #1Y9mIMZA (GameDesign)
文章代碼(AID): #1Y9mIMZA (GameDesign)