→ cjcat2266:省CPU效能最重要的技巧之一就是caching 04/30 21:13
→ cjcat2266:你仔細看那些3D面的亮度變化是不連續的 04/30 21:13
→ cjcat2266:表示他其實是把各種亮度的面先cache成material 04/30 21:13
→ linjack:可是 PV3D 裡大家應該也常看過那個幾乎一模一樣的 demo 04/30 22:31
→ linjack:銀色的球跑來跑去變化的那個,原作者 Mr. doob 04/30 22:32
→ linjack:他也是有做一樣的 cache .. 可是效率光是幾百顆球就不行了 04/30 22:32
推 cjcat2266:Roxik的512粒子demo也是有作cache的 04/30 22:33
→ cjcat2266:各種顏色的粒子的各種blur程度都有預先繪製好bitmap 04/30 22:33
→ cjcat2266:至於不同尺寸的粒子是否也有作cache我就不知道了 04/30 22:33
→ cjcat2266:如果有的話,那效能肯定是會爆增的 04/30 22:33
→ linjack:yeah, I mean,兩者應該都有做類似的 cache,但效率還是差 04/30 22:34
→ linjack:很多 ...Mr doob 的那個 demo 我也自己拿 src 來玩過 04/30 22:34
→ linjack:所以我只能猜想主要是 sharikura 3D 和 pv3d 內部有什麼 04/30 22:35
→ linjack:決定性的不同?不過你提到才想起來,mrdoob 那些球大小有變 04/30 22:37
推 cjcat2266:經你這麼一說激起了我的好奇心,我剛用SWF Decompiler把 04/30 22:42
→ cjcat2266:512粒子解開來看,發現他根本沒有用Sharikura耶 04/30 22:43
→ cjcat2266:全部的3D只用三個class作掉,所以function call stack 04/30 22:43
→ cjcat2266:超級少,跟肥肥的PV3D的確不能比 :p 04/30 22:43
→ cjcat2266:不過這就是在inline code和code encapsulation之間作抉 04/30 22:44
→ cjcat2266:擇了...懶惰的我是會選擇後者的XD 04/30 22:44
推 cjcat2266:唉呀,發現了另外一個512粒子的render技巧 04/30 22:48
→ cjcat2266:他其實是用BitmapData.copyPixel()將粒子畫上去的 04/30 22:48
→ cjcat2266:所以會比PV3D直接把DisplayObject顯示出來的效能還好 04/30 22:49
→ cjcat2266:難怪他不讓你用右鍵zoom in,不然bitmap就露餡了 04/30 22:49
→ linjack:使出 Decompiler 禁招啦 XDD <(_ _)> ... 04/30 22:51
→ linjack:所以看來只有下面三個特別註明 sharikura 的才真的有用到 04/30 22:52