美文网首页
GPUImage GCD

GPUImage GCD

作者: 老猫_2017 | 来源:发表于2020-01-21 14:29 被阅读0次
// set queue attribute
dispatch_queue_attr_t GPUImageDefaultQueueAttribute(void)
{
#if TARGET_OS_IPHONE
    if ([[[UIDevice currentDevice] systemVersion] compare:@"9.0" options:NSNumericSearch] != NSOrderedAscending)
    {
        return dispatch_queue_attr_make_with_qos_class(DISPATCH_QUEUE_SERIAL, QOS_CLASS_DEFAULT, 0);
    }
#endif
    return nil;
}

// create queu with attribute  serial  queue
_contextQueue = dispatch_queue_create("com.sunsetlakesoftware.GPUImage.openGLESContextQueue", GPUImageDefaultQueueAttribute());

// set specific
dispatch_queue_set_specific(_contextQueue, openGLESContextQueueKey, (__bridge void *)self, NULL);

// camera - global queue
cameraProcessingQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,0);

// audio global queue   
audioProcessingQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW,0);

// semaphore 信号量    
frameRenderingSemaphore = dispatch_semaphore_create(1);
// 每次保证只能有一个资源执行 
if (dispatch_semaphore_wait(frameRenderingSemaphore, DISPATCH_TIME_NOW) != 0) {
  ...
}

// 完成之后,释放资源            
dispatch_semaphore_signal(frameRenderingSemaphore);


// create 0
    imageUpdateSemaphore = dispatch_semaphore_create(0);

//  signal +1
    dispatch_semaphore_signal(imageUpdateSemaphore);
//  -1
dispatch_semaphore_wait(imageUpdateSemaphore, TIME);

总结:主要用信号量进行资源的控制访问,保证,只有一共在访问它.

创建队列的时候,指定其 队列优先级

特定队列访问资源, dispatch_queue_set_specific 来进行获取设定队列

相关文章

  • GPUImage GCD

    总结:主要用信号量进行资源的控制访问,保证,只有一共在访问它.创建队列的时候,指定其 队列优先级特定队列访问资源,...

  • GPUImage2 的导入

    首先,GPUImage有3个版本分别是:GPUImage,GPUImage2,GPUImage3 GPUImage...

  • GPUImage概览

    读GPUImage源码,深入了解GPUImage原理及OpenGL ES。 关于GPUImage GPUImage...

  • GPUImage 解析

    GPUImage解析(一) —— 基本概览(一)GPUImage解析(二) —— 基本概览(二)GPUImage解...

  • GPUImage架构-思维导图

    GPUImage架构 参考文章: GPUImage架构

  • 视频滤镜

    GPUImage原生美颜 GPUImage原生美颜 步骤一:使用Cocoapods导入GPUImage步骤二:创建...

  • iOS GPUImage blog收集

    iOS GPUImage blog收集 GPUImage详解(简书博客) GPUImage(五):五种类型输入源(...

  • GPUImage(四):GPUImageFramebuffer

    GPUImage概览GPUImage(一):视频采集GPUImageVideoCameraGPUImage(二):...

  • iOS-DIY美颜相机

    本例是使用GPUImage开源框架,生成美颜相机。实时采集画面,进行美颜。 GPUImage GPUImage是开...

  • GPUImage源码分析与使用(一)

    GPUImage简介 GPUImage是链式编程,可以处理图片和视频,支持iOS和Mac。 GPUImage1.0...

网友评论

      本文标题:GPUImage GCD

      本文链接:https://www.haomeiwen.com/subject/zvrezctx.html