GPUImage源码分析(一):GPUImageContext

2018-12-14  本文已影响0人  奔向火星005

GPUImageContext可以说是GPUImage的“心脏”,管理着OpenGL相关最核心的信息,如OpenGL上下文,OpenGL串行队列,着色器program缓存,framebuffer缓存等,是一个单例。下面是它类图的简化版:

简单说几点:

  1. GPUImageContext是单例,所有GPUImage操作应共用一个上下文;
  2. 所有GPUImage中与OpenGL相关的操作应在contextQueue中,以保证串行执行;
  3. 所有GPUImage中与OpenGL相关的操作前,应使用useAsCurrentContext先切到当前上下文;
  4. GPUImageContext中管理着着色器program,framebuffer,texture等缓存,可以减少创建和销毁的开销,详见源码。
上一篇 下一篇

猜你喜欢

热点阅读