最近、 GPUImageのソース コードを調べて、OpenGL ES のスキルを向上させています。GPUImageContext
クラスのコードを読んでいるqueue
と、ライブラリの他の部分で使用されている a への参照が格納されていることがわかりました。
たとえばGPUImageView.m
、キューでは、コンテキストに直接関係しないいくつかの操作を実行するために使用されます (属性をシェーダーに追加するなど) commonInit
。runSynchronouslyOnVideoProcessingQueue
私の質問は、開発者がこれらの操作を「セカンダリ」キューで実行することを決定した理由と、このキューを のようなクラスに格納する利点ですGPUImageContext
。
その質問が GPUImage フレームワークに厳密に関連していることは承知していますが、Brad Larson のような熟練した開発者が、iOS で最も有名な画像操作ライブラリの 1 つを構築することをどのように決定したかを理解する大きな機会になると思います。
Ps 私の好奇心で著者を怒らせなかったらいいのにと思います。