Недавно я улучшаю свои навыки OpenGL ES, изучая исходный код GPUImage. Пока я читал код для класса GPUImageContext
, я получаю, что он хранит ссылку на queue
, что он используется в других частях библиотеки.GPUImage: EAGLContext и очередь потоков
Например, в GPUImageView.m
очередь используется в commonInit
с runSynchronouslyOnVideoProcessingQueue
для выполнения некоторых операций, не связанных непосредственно с контекстом (например, добавление атрибутов в шейдер).
Мой вопрос в том, почему разработчик решил выполнить эти операции в «вторичной» очереди, и это полезно для хранения этой очереди в классе, таком как GPUImageContext
.
Я знаю, что этот вопрос строго связан с инфраструктурой GPUImage, но я думаю, что это может быть большой возможностью понять, как опытный разработчик, так как Брэд Ларсон решил структурировать одну из самых известных библиотек для Image Manipulation в iOS ,
P.s. Надеюсь, я не обидел автора своим любопытством.
Отлично! Это действительно исчерпывающий ответ. – MatterGoal