自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(15)
  • 收藏
  • 关注

转载 iOS 中OpenGL ES 优化 笔记 1

1,避免同步和Flushing操作OpenGL ES的命令执行通常是在command buffer中积累一定量的命令后,再做批处理执行,这样效率会更高;但是一些OpenGL ES命令必须flush command buffer,也有需要同时flush和阻塞直到命令执行完毕,过度调用这类函数会严重影响性能。glFlush 发送命令buffer到图形硬件,一直阻塞直到...

2018-01-27 16:26:00 274

转载 像素缓冲区对象PBO 记录

像素缓冲区对象PBO 记录和所有的缓冲区对象一样,它们都存储在GPU内存中,我们可以访问和填充PBO,方法和其他的缓冲区一样。当一个PBO被绑定到GL_PIXEL_PACK_BUFFER,任何读取像素的OpenGL操作都会从PBO中获取它们的数据,如glReadPixels,glGetTexImage和glGetCompressedTexImage。通常的操作会从FBO或...

2017-06-29 23:05:00 145

转载 H.264格式,iOS硬编解码 以及 iOS 11对HEVC硬编解码的支持

H.264格式,iOS硬编解码 以及 iOS 11对HEVC硬编解码的支持1,H.264格式网络表示层NAL,如图H.264流由一帧一帧的NALU组成;SPS:序列参数集,作用于一系列连续的编码图像;PPS:图像参数集,作用于编码视频序列中一个或多个独立的图像;这两个帧也是独立的NALU。I-Frame:关键帧,帧内编码后的帧,显示比较完全的一帧;P-Fr...

2017-06-21 22:52:00 664

转载 STL的空间配置器std_alloc 笔记

STL的空间配置器std_alloc 笔记C++的内存分配基本操作是 ::operator new(),内存释放是 ::operator delete(),这里两个全局函数相当于C的malloc和free;std::alloc 设计了双层配置器,第一层直接用了malloc和free,内存不足时用函数指针模拟C++中set_new_handler方式进行自定义处理函数;第二层:超...

2017-06-17 09:48:00 114

转载 从deque到std::stack,std::queue,再到iOS 中NSArray(CFArray)

从deque到std::stack,std::queue,再到iOS 中NSArray(CFArray)dequedeque双端队列,分段连续空间数据结构,由中控的map(与其说map,不如说是数组)控制,map中每个槽指向一个固定大小的缓冲(连续的线性空间)。deque的迭代器,关键的四个指针:cur //所指缓冲区中的现元素f...

2017-06-15 00:05:00 107

转载 Effective C++ 深入理解inline

Effective C++ 深入理解inlineinline语义inline本义是将所调用函数用自身的函数本体替换之,免受函数调用所招致的额外开销,比宏还要不易出错;但是实际上inline的受编译器的控制,编译器根据执行语境来对inline函数是否做优化,inline只是对编译器的申请,不是强制命令。inline各种情况1,如果函数体比较大,用inli...

2017-06-14 00:21:00 102

转载 TCP慢启动,拥塞控制,ECN 笔记

TCP慢启动,拥塞控制,ECN 笔记1,TCP慢启动TCP在连接过程的三次握手完成后,开始传数据,并不是一开始向网络通道中发送大量的数据包,这样很容易导致网络中路由器缓存空间耗尽,从而发生拥塞;而是根据初始的cwnd大小逐步增加发送的数据量,cwnd初始化为1个最大报文段(MSS)大小(这个值可配置不一定是1个MSS);每当有一个报文段被确认,cwnd大小指数增长。...

2017-06-12 23:56:00 430

转载 FLAnimatedImageView处理gif过程

FLAnimatedImageView处理gif过程时间控制原理GIF图片每一帧的delayTime可能都不一样;在展示下一帧的时间控制机制,不能根据以第一帧为准;或总动画时长除以帧数来简单做平均值为准,都是不太好的方案。FLAnimatedImageView的控制方式,读取每一帧的delayTime算出最大公约数,...

2017-06-11 03:22:00 1005

转载 GPUImage的filter 响应处理链 的理解笔记

GPUImage的filter的textures处理链式结构两个最重要的的地方:最重要的一个类GPUImageOutput(所有的filter的父类,其他也有继承它的,如GPUImageUIElement,UIKit元素通过CG转gles贴图 等等);协议(或者接口)GPUImageInput。  继承GPUImageOutput且遵循GPUImageInput的...

2017-06-10 14:49:00 317

转载 磁盘文件I/O,SSD结构,局部性原理 笔记

磁盘文件I/O过程进程向内核发起read scene.dat请求;内核根据inode获取对应该进程的address space,在address space查找page_cache,如果没有找到,内核分配一个page加到内存页;第一次拷贝:读取scene.dat文件相应的页填充页缓存中的页 ;第二次拷贝:内核将page_cahce中的page拷贝到用户进程的堆空间内存...

2017-06-08 14:49:00 187

转载 DOUAudioStreamer 中的DOUAudioFileProvider理解笔记

概览DOUAudioFileProvider读取音频文件local,ipod-library,remote audiofile(通过DOUSimpleHTTPRequest封装的CFHTTPMessageCreateRequest简单请求来获取);DOUAudioFileProvider通过三个子类_DOUAudioLocalFileProvider,_DOUAudioRemot...

2017-06-06 11:09:00 130

转载 DOUAudioStreamer 中kqueue的应用

DOUAudioStreamer是一个基于Core Audio的流式音频播放器,其中的DOUAudioEventLoop通过kqueue来控制音频的各种状态。kqueue简介(详情请看官方manual)kqueue的功能类似epoll,多用于后台多个socket连接时的I/O复用,注册感兴趣的event,把描述符链表交给内核,然后就等待。一旦有某个或多个事件发生,内核就把 一个只...

2017-06-04 22:13:00 109

转载 XCode 8.3 Automatically manage signing 问题

记录iOS证书问题无意中选择了Personal team,后台自动生成bundle identifier:com.xxx.project,导致不能在Organization team创建,而且在developer portal界面中看不到Xcode自动创建的app id,创建该id时提示:An App ID with Identifier is not available. Pl...

2017-06-02 15:56:00 252

转载 顶点着色器 学习笔记

顶点着色器shader的三种变量类型uniform变量一般用来表示:变换矩阵,材质,光照参数和颜色等信息;如果在vertex和fragment两者之间声明方式完全一样,则它可以在vertex和fragment共享使用;只读常量数据;attribute变量是只能在vertex shader中使用的变量;一般用attribute变量来表示一些顶点的数据,如:顶点坐标,...

2017-05-29 23:52:00 182

转载 OpenGL ES 2.0 渲染管线 学习笔记

图中展示整个OpenGL ES 2.0可编程管线图中Vertex Shader和Fragment Shader 是可编程管线;Vertex Array/Buffer objects顶点数据来源,这时渲染管线的顶点输入,通常使用 Buffer objects效率更好。Vertex Shader顶点着色器通过矩阵变换位置、计算照明公式来生成逐顶点颜色已经生成或变...

2017-05-29 17:08:00 154

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除