文章目录参考资料一. DispSync二. DispSync初始化2.1 SurfaceFlinger2.2 DispSync创建2.3 SurfaceFlinger::SurfaceFlinger2.4 DispSync.init2.4.1 DispSyncThread.threadLoop三. enableVysncLocked后续3.1 DispSync.addEventListener3
surfaceflinger的源码路径如下:frameworks/native/services/surfaceflinger/
- main_surfaceflinger.cpp
- SurfaceFlinger.cpp
- DispSync.cpp
- MessageQueue.cpp
- DisplayHardware/HWComposer.cpp
frameworks
转载
2024-06-24 16:45:16
839阅读
android44中的实现 整体流程 HWComposer对象的建立 EventControlThread闸刀的建立 DispSync和DispSyncThread DispSyncSource和EventThread 完整走一遍 android 4.1一个很大的更新是Project Butter,黄油计划,为了解决用户交互体验差的问题(Jelly Bean is crazy
原创
2021-05-20 11:33:26
872阅读
SurfaceFlinger的dump信息详解1. 特殊宏的打开2. Sync机制3. DispSync参数4. layer的dump4.1 区域信息4.2 基本信息4.3 buffer信息4.3.1 数据格式4.3.2 activeBuffer4.3.3 queued-frames 新的帧的数量4.3.4 mRefreshPending刷新卡住了吗?4.4 SurfaceFlingerCons
surfaceflinger中类的关系 HWC驱动DispSync 上一节分析了Vsync的多个类之间的关系,感觉非常不清晰,特地画了一张图,感觉清晰了很多。(黄色的方框是类名,绿色方框为field,联系用虚线箭头表示,如果不同线条之间有重叠,用了不同的颜色) surfaceflinger中类的关系 下面照着这张图,梳理下android 4.4 SF中Vsync相关类之间的联系,surfacefl
原创
2021-05-20 11:33:24
582阅读
一、前言如上图所示的 Systrace 中,VSYNC-app 基本上没有什么变化,但是 VSYNC-sf 却一直在更新有可能是什么原因?VSYNC-app 的作用通知 app 去开始进行绘制渲染更新 UI 了,DispSync 按照屏幕的刷新率的速率去通知 app,因此 app 会以跟屏幕刷新率匹配的速率去绘制渲染更新 UI。而在手游情况就有不同了,目前绝大部分手游都是使用游戏引擎,例如 Uni