我有一個背景圖像和一個CGPath
,隨着用戶觸摸屏幕而改變。用CGContextDrawImage()
繪製圖像,然後在頂部繪製路徑速度不夠快,並且妨礙了觸摸事件的性能。我想要的是有一個位圖緩衝區,並只繪製路徑中的變化。因此,視圖的drawRect()
將只是繪製緩衝區。我懷疑我需要使用CGContext
s,但我無法完全弄清楚如何去做。有沒有不同的方式來優化這個?石英拉絲優化
編輯:
我每次用戶觸摸屏幕時增加了路徑;所以「路徑變化」是指向現有路徑添加更多點。這就是爲什麼我認爲我可以緩衝圖像並只畫出路徑的「三角」而不是每次繪製整個東西。此刻我的繪圖和事件的邏輯是這樣的:
-(void)drawRect{
//Draw the background image
//Draw the whole path
}
-(void)touchesMoved{
//Add the touch point to the path
[self setNeedsDisplay];
}
繪製背景這樣使得觸摸事件的採樣執行明顯比剛纔繪製的路徑差。