Я использую CoreGraphics для создания растрового контекста вокруг пиксельного буфера и извлечения изображения, используя CGBitmapContextCreateImage
, а затем CGContextDrawImage
, чтобы нарисовать это изображение в другом буфере (в градациях серого).
Профилирование показывает, что CGContextDrawImage
занимает много времени, поэтому я подумал, что избежал бы этого, получив прямой доступ к исходному CVPixelBuffer
. Но оказывается, что это намного медленнее!
Я полагаю, что буфер находится в некоторой специальной области памяти, доступ к которой по какой-то причине медленен.
Какой самый быстрый способ поместить эти пиксели в место, где я могу их быстро обработать, тогда?