2
我使用CGBitmapContextRef來處理大的可變圖像。 比我在UIView.drawRect中繪製一個部分。 這在iPhone 3GS-17FPS上效果很好。 但在iPhone 4調用subj方法非常慢 - 總FPS爲1.5!CGContextDrawImage在iPhone 4上非常緩慢
profiler說:在3GS上調用CGSBlendBGRA8888toRGBA8888佔總時間的23%。在4G相同的代碼調用argb32_sample_RGBA32/argb32_image_mark需要~90%。哇!
位圖的顏色空間是CGColorSpaceCreateDeviceRGB。並且創建標誌是kCGImageAlphaPremultipliedLast。
如何在iPhone 4上獲得更好的性能?有什麼建議麼 ?
謝謝。我嘗試了你的技巧。 1)kCGInterpolationNone - 縮放時我的質量很差。 kCGInterpolationLow - 質量好,FPS好一些(〜5-10%)。 2)CALayer.contents不想吃CGBitmapContext,只是CGImage。但是對於那種情況,我接下來要做的是:/ *寫入*/[.layer.contents = nil]時,必須不要引用上下文映像; [改變上下文的像素]; [.layer.contents = CGBitmapContextCreateImage(pCtx)];並且3GS上的代碼爲我們提供了8FPS(是17)和4G 12FPS(是1.5) – user396550 2010-10-13 10:09:11
...並且清除了.layer.contents,並且有時設置了一個閃爍 – user396550 2010-10-13 13:25:02
我重寫了使用OpenGLES進行繪製和使用原生UI-控制縮放和滾動。 我分割大小爲256x256的N * K紋理的大型可變圖像。有時更新一些。 FPS現在:3G - 27,3GS - 55,4G - 60,iPad - 53 – user396550 2010-11-02 11:37:26