🚗 触控响应延迟
30章 · 精讲
⚡ 黄金100ms · 全链路分析
01
触控延迟概述
什么是触控延迟?为什么它在车载中如此重要?用户体验的“黄金100ms”法则。
02
延迟的构成
从物理触摸到屏幕反馈的完整链路(触摸屏 → 驱动 → 系统 → 应用 → 渲染 → 显示)。
03
硬件篇-触摸屏技术
电阻屏 vs 电容屏 vs 投射电容屏,车载场景下的选型考量。
04
硬件篇-触控IC与驱动
触控IC的扫描频率、报点率、滤波算法对延迟的影响。
05
硬件篇-主控SoC性能
CPU/GPU频率、内存带宽、总线延迟对触控链路的瓶颈分析。
06
系统篇-Android Input子系统
EventHub、InputReader、InputDispatcher的工作流程。
07
系统篇-事件分发机制
ViewRootImpl、WindowInputEventReceiver、View.onTouchEvent的调用链。
08
系统篇-垂直同步与帧率
VSync机制、Choreographer、帧率对触控跟随感的影响。
09
系统篇-渲染管线
CPU绘制、GPU渲染、SurfaceFlinger合成、HWC合成、显示刷新。
10
系统篇-调度与优先级
触控线程的RT调度、Binder通信延迟、CPU调频策略。
11
应用篇-布局复杂度
过度绘制、层级深度、Measure/Layout耗时对触控响应的影响。
12
应用篇-主线程阻塞
ANR、长耗时任务、锁竞争导致的触控事件堆积。
13
应用篇-动画与交互
属性动画、帧动画、RecyclerView滑动卡顿与触控延迟的关系。
14
应用篇-内存与GC
内存抖动、频繁GC导致的STW(Stop The World)问题。
15
工具篇-系统Trace分析
使用Systrace/Perfetto抓取触控事件的全链路耗时。
16
工具篇-应用层Trace
自定义Trace、Choreographer回调、FrameCallback的使用。
17
工具篇-硬件打点
示波器测量、GPIO打点、FTrace分析驱动延迟。
18
工具篇-性能指标
触控延迟的量化指标(Touch-to-Display Latency, Touch-to-Sound Latency)。
19
工具篇-自动化测试
使用ADB模拟触控、UIAutomator、TouchLatencyTest工具。
20
优化篇-硬件选型
高报点率触控IC、低延迟显示面板、高速总线接口。
21
优化篇-驱动优化
减少中断延迟、优化滤波算法、提升报点率。
22
优化篇-系统调优
调整InputReader/Dispatcher参数、优化VSync对齐、提升渲染优先级。
23
优化篇-应用架构
异步化触控处理、使用MotionEvent pooling、减少主线程负载。
24
优化篇-布局优化
扁平化布局、使用ConstraintLayout、减少过度绘制。
25
优化篇-渲染优化
使用硬件加速、优化Shader、减少GPU绘制指令。
26
优化篇-内存优化
对象复用、避免内存抖动、使用SparseArray替代HashMap。
27
优化篇-线程优化
使用HandlerThread、WorkManager、协程处理触控后续任务。
28
实战案例1:车载导航地图滑动卡顿分析与优化
车载导航地图滑动卡顿分析与优化。
29
实战案例2:音乐播放器切歌延迟与触控反馈优化
音乐播放器切歌延迟与触控反馈优化。
30
总结与展望
未来车载触控技术趋势(压感、隔空手势、多模态交互)。