
Graphics
文章平均质量分 95
夕月风
修身、齐家、治国、平天下...
展开
-
Android 图形显示系统(十四)OpenGLES 纯Native实现PNG图片贴图
文章目录如何实现一个纯Native的应用创建项目AndroidManifest的配置添加Native层的代码简介一下NativeActivity加载PNG图片png库的编译png库的使用OpenGLES贴图创建纹理Texture使用纹理Shader的那些事小结#OpenGLES 纯Native实现PNG图片贴图春节临近本来不想更了,但是为了纪念即将逝去的一年,还是留下点什么吧!就让我们用Ope...原创 2020-01-20 23:43:02 · 2563 阅读 · 1 评论 -
Android P 图形显示系统(十二) BufferQueue(三)
文章目录Buffer状态acquireBuffer流程releaseBuffer流程分析小结Buffer状态对于生产者这边,BufferQueue的流程基本讲完了。简单说来,首先提需求,告诉BufferQueue需要什么样的Buffer,大小,格式,usage等等;然后dequeue Buffer出来,往Buffer里面绘制显示数据;绘制完成后,queue到BufferQueue里面,并通知消...原创 2019-09-17 13:15:29 · 1252 阅读 · 1 评论 -
Android P 图形显示系统(十一) BufferQueue(二)
文章目录BufferQueuedequeueBuffer申请buffer绘制queueBuffer处理BufferQueue我们再来看一下我们的应用代码,下面是绘制Buffer的代码。我们这里只绘制了一次,但是在Andoroid的系统中,界面的不断更新的,也就是说,这里的绘制是一个不断循环的过程。 // 11. draw the ANativeWindow for (int i...原创 2019-09-17 13:13:37 · 1535 阅读 · 1 评论 -
Android P 图形显示系统(十) BufferQueue(一)
文章目录BufferQueueNative应用绘制界面SurfaceFlinger创建LayerNative窗口ANativeWindowSurfaceSurfaceControl窗口销毁的善后处理BufferQueue前面结合应用中WindowSurfaceWrapper的,讲解了应用怎么和SurfaceFlinger建立连接,进行交互的。BufferQueue 类是 Android 中所...原创 2019-09-17 13:05:54 · 3989 阅读 · 1 评论 -
Android Q 色彩(颜色)模式解析(一)
文章目录Android 色彩(颜色)模式解析(一)FrameWork色彩模式的定义及实现SurfaceFlinger对色彩模式的支持和实现看屏幕是否支持颜色管理屏幕的ColorProfileSurfaceFlinger设置ColorMode的流程小结Android 色彩(颜色)模式解析(一)Android Q 在系统设置中提供了可设置的色彩模式,当然这功能很多厂商早就有了~,落后归落后,我们还...原创 2019-08-29 14:33:13 · 7933 阅读 · 2 评论 -
Android P 图形显示系统(九) Android图形显示子系统概述
文章目录图形系统显示系统Buffer管理显示系统的架构从应用的角度理解AndroidAndroid图形显示子系统概述Android图形显示系统,是Android比较重要的一个子系统,和很多其他子系统的关联紧密。想象一下,没有图形显示系统的手机是什么样子,可能连对讲机都不如吧。图形显示系统比较复杂,从Android诞生到现在,几经修改,已经变的越来越庞大了。总的说来,图形显示系统可以分为两大部分...原创 2019-09-03 09:52:17 · 9455 阅读 · 0 评论 -
Android P 图形显示系统(八) SurfaceFlinger合成流程(三)
文章目录SurfaceFlinger合成流程(三)配置硬件合成 setUpHWComposer合成处理 doComposition合成后处理 postCompositionClient合成SurfaceFlinger合成流程(三)配置硬件合成 setUpHWComposer回到handleMessageRefresh,继续看Refresh消息的处理。此时需要进行合成显示的数据,在rebuil...原创 2019-09-03 09:47:02 · 3877 阅读 · 1 评论 -
Android P 图形显示系统(七) SurfaceFlinger合成流程(二)
SurfaceFlinger合成流程(二)SurfaceFlinger合成流程MessageQueue中分发两个消息,一个INVALIDATE,一个REFRESH,SurfaceFlinger对这两个消息的响应过程,就是合成的过程。消息INVALIDATE处理在onFrameAvailable时,调用signalLayerUpdate,将触发INVALIDATE消息。SurfaceFlin...原创 2019-09-03 09:41:28 · 2933 阅读 · 1 评论 -
Android P 图形显示系统(六) SurfaceFlinger合成流程(一)
文章目录SurfaceFlinger合成流程(一)Consumer端的FrameListener消息队列MessageQueue显示设备DispalyDeviceDisplay接口服务显示屏的类型DisplayDevice的热插拔处理创建DisplayDevicehotplug的流程SurfaceFlinger合成流程(一)通过前面的简单介绍,我们对HWC合成有大致的了解。下面我们根据实际代码...原创 2019-09-03 09:37:46 · 10739 阅读 · 0 评论 -
Android P 图形显示系统(五) 上层Client和SurfaceFlinger的交互
文章目录上层Client和SurfaceFlinger的交互Native应用建立应用和SurfaceFlinger的链接建立SurfaceFlinger的启动获取Display信息Native创建图层Layer处理状态的传送小结上层Client和SurfaceFlinger的交互为了很好的切入主题,我们这里基于Native的Framework进行应用的开发呢,不是指的NDK应用。我们直接用系统...原创 2019-09-03 09:32:39 · 2854 阅读 · 3 评论 -
Android P 图像显示系统(三)Android HWUI 绘制流程
Android中,绘图的API很多,比如2D的绘图skia;3D的绘图OpenGLES,Vulkan等。Android 开始,的View系统中,多数都是采用2D的模式的View Widget,比如绘制一张Bitmap图片,显示一个按钮等。随着Android系统的更新,和用户对视觉效果的追求,以前的这套2D View系统,不仅不能满足要求,而且渲染非常的慢。所以Android一方面完善对3D的API...原创 2019-08-16 17:48:00 · 6827 阅读 · 1 评论 -
Android P 图形显示系统(四) Android VirtualDisplay解析
文章目录Android VirtualDisplay解析ImageReader和VirtualDisplay使用示例ImageReader介绍VirtualDisplay的创建Native创建VirtualDisplay数据流分析ImageReader获取数据Android VirtualDisplay解析Android支持多个屏幕:主显,外显,和虚显,虚显就是我们要说的VirtualDisp...原创 2019-08-29 14:30:40 · 16742 阅读 · 7 评论 -
Android P 图像显示系统(二)GraphicBuffer和Gralloc分析
GraphicBuffer和Gralloc分析GraphicBuffer定义分配一块BufferGralloc1.0 接口介绍IAllocator接口IMapper接口Qcom高通平台Gralloc HAL实现gralloc1整体架构allocate相关流程ION Bufferheap的类型Ion APIIon Debug小结GraphicB...原创 2019-08-22 09:50:25 · 10061 阅读 · 13 评论 -
Android P 图形显示系统(一)硬件合成HWC2
Android P 图形显示系统(一)硬件合成HWC2SurfaceFlinger概述HWC2 概述HWC 常规准则HWC2 框架HWC2 数据结构图层Layer类型属性显示屏DisplayHWC设备 composerDevice接口指针句柄HandleHWC合成服务Client和Server的通信IComposerClient.hal 接口ICompo...原创 2019-08-14 14:20:43 · 17946 阅读 · 2 评论 -
Graphics 调试工具 GAPID(一)简介
Graphics Debug Tool GAPID编译GAPID直接安装gapid组成GAPID的使用Graphics Debug Tool GAPIDGAPID (Grapphics API Debugger) 是一系列的Graphics调试工具,可以检查,微调,重播应用对图形驱动的API调用。GAPID 可以跟踪Android任何可以调试的应用,即andr...原创 2019-09-03 09:59:16 · 8220 阅读 · 3 评论