2013-03-26 61 views
0

只是一個簡單的問題,何種方式呈現更快:AS3位圖寬度VS繪製形狀(性能)

我想有一個背景設置(精靈);

方法1

sprite.graphic.draw() 
sprite.graphic.drawRect(0,0,100, 1024) 

方法2:一個PNG(原始高度10px的),只是使高度爲1024

sprite.addChild(Bitmap); 
Bitmap.height = 1024; 

感謝您的任何建議

回答

2

與前面的「表現「的問題,總是最好的測試。我的背景知識(雙關語完全打算)告訴我,第一種方法更好,在第二種方法中,您必須加載PNG解碼,縮放它,在第一種方法中,您只需修改所需內存中的像素(可以使用cacheAsBitmap緩存雪碧)。

更多的cacheAsBitmap這裏:http://www.andymoore.ca/2010/09/cacheasbitmap-performance-testing/

編輯 每意見,較好地解決

var bd:BitmapData = new BitmapData(100, 1024, false, 0xff00ff00); 
var bmp:Bitmap = new Bitmap(bd); 
addChild(bmp); 

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/BitmapData.html#BitmapData()

+0

感謝隊友的建議 – Bruce 2013-03-26 02:22:37

+2

另一種可能性是從頭開始創建一個BitmapData並填寫一個洪水填補 – 2013-03-26 02:29:18

+0

再次好電話Blankenship女士最有可能更好的S解決方案來正確使用BitmapData。 – shaunhusain 2013-03-26 02:32:01