当前位置: 首页 > news >正文

Android SurfaceFlinger——Vsync信号发送(五十二)

        通过上一篇文章我们创建了一个 EventThread 线程,并且它持有了 SurfaceFlinger 中 resyncWithRateLimit() 方法的指针。这里我们主要来看一下 EventThread 对信号的处理。

一、发送Vsync信号

        当 SurfaceFlinger 执行完 queueBuffer() 方法之后,通过 onFrameAvailable 又会回调到 SurfaceFlinger 中的 commit() 方法中。

1、SurfaceFlinger.cpp

源码位置:/frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp

commit

bool SurfaceFlinger::commit(nsecs_t frameTime, int64_t vsyncId, nsecs_t expectedVsyncTime)FTL_FAKE_GUARD(kMainThreadContext) {……if (mSetActiveModePending) {// 检查是否有待处理的帧if (framePending) {mScheduler->scheduleFrame();return false;}mSetActiveModePending = false;{Mutex::Autolock lock(mStateLock);updateInternalStateWithChangedMode();}}// 检查是否有待处理的帧if (framePending) {if ((hwcFrameMissed && !gpuF

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Ant-Design-Vue快速上手 指南+排坑(上)
  • IDEA连接数据库
  • 谈对象系列:C++类和对象
  • WPF界面开发-C#单例模式实现 页面数据传输
  • C语言程序设计-[11] 循环结构嵌套
  • uniapp 对于scroll-view滑动和页面滑动的联动处理
  • 什么是前端微服务,有何优势
  • 解决戴尔台式电脑休眠后无法唤醒问题
  • JS中关于为什么调用构造函数要使用new的详细解读
  • stm32程序调试方式(OLED显示屏调试以及Keil调试模式)
  • lwip 3. 网线拔掉后 lwip_recvfrom不能返回
  • ECMAScript 6 入门 学习 日志笔记 2024/8/6 13:59
  • 【Transformer】关于RNN以及transformer的相关介绍
  • uniapp3.0实现图片上传公用组件上传uni-file-picker,uni.uploadFile
  • Mac电脑装不了软件怎么办 苹果电脑软件安装失败解决办法 安装macos空间不足
  • hexo+github搭建个人博客
  • 【个人向】《HTTP图解》阅后小结
  • 2017 年终总结 —— 在路上
  • 345-反转字符串中的元音字母
  • 4. 路由到控制器 - Laravel从零开始教程
  • conda常用的命令
  • docker python 配置
  • echarts花样作死的坑
  • flask接收请求并推入栈
  • JavaScript HTML DOM
  • MobX
  • Python3爬取英雄联盟英雄皮肤大图
  • vue总结
  • 半理解系列--Promise的进化史
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 一道面试题引发的“血案”
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 如何在招聘中考核.NET架构师
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​比特币大跌的 2 个原因
  • ######## golang各章节终篇索引 ########
  • #stm32整理(一)flash读写
  • #VERDI# 关于如何查看FSM状态机的方法
  • #大学#套接字
  • $$$$GB2312-80区位编码表$$$$
  • $(function(){})与(function($){....})(jQuery)的区别
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (day6) 319. 灯泡开关
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (强烈推荐)移动端音视频从零到上手(下)
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)ORM