解决方案 »

  1.   


     我所知道的,ios上面的就只有opengles了
      

  2.   

    暂时用OpenGLES吧,测试了一下 500x500的图片 拉伸到512x512 大概也就4毫秒时间。反正是封装了一下使用,后面如果有好的实现就换掉就行了。
      

  3.   

    ios模拟器上播放一个640x360的视频,CPU消耗如下:
    为了使用OpenGLES渲染图像,图像必须拉伸到2的次数倍(1024x512)
    声音和视频解码(MP3+FLV1) 消耗CPU 10%。
    如果使用ios的CGGraphics 拉伸图片,消耗CPU 20%
    如果使用ffmpeg的 swscale进行拉伸,消耗CPU 30%
    OpenGLES渲染部分,消耗CPU 20%。如果能够把图片拉伸部分去掉 支持任意图片尺寸绘制,能够大幅度降低CPU使用率。哎,难道就没有什么办法吗?
      

  4.   

    发现了一个更快,更好,更方便的绘制方式。使用CALayer。并且可以在任意UIView对象控件上绘制图像。并且是主动的。对于任何UIView控件来说,都有一个CALayer对象设置CALayer的 delegate。。
    这个delegate的类型,需要实现一个函数- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)context 然后再需要绘制的地方,首先调用 view.layer setNeedDisplay //这一句代码是打开一个状态,强制绘制
    然后调用view.layer display  //这个函数调用的时候,会自动去调用delegate 的函数drawLayer然后drawLayer 就和正常的CGGraphics绘图一样了。 速度很快。