vsync_event_message
2015-12-03 15:31:41 2 举报
vsync_event_message是一个与计算机图形处理相关的术语,它指的是垂直同步事件消息。在计算机图形渲染过程中,为了保持画面的流畅性,通常会将显示器的刷新率与图形处理器的帧率进行同步。当图形处理器完成一帧图像的渲染后,会发出一个vsync信号,通知显示器进行刷新。这个信号就是vsync_event_message。通过这种方式,可以有效地避免画面撕裂和卡顿现象,提高用户的视觉体验。
作者其他创作
大纲/内容
1.0 onFirstRef()
MessageQueue
Handler
B:遍历mMessageEnvelopes,并回调message中的handleMessage函数
1.3 run()
2.1 onVsyncReceived()
DispSync
cb_eventReceiver
BitTube
DispSyncThread
所有的msg添加到mMessageEnvelopes
Looper
EventThread
I区
handleMessage
postMessage
7.waitForEvent()
1.1.1.setEventThread()
1.11.1.createEventConnection()
1.3.4 pollOnce
生成一个新的VsyncEvent,会触发ThreadLoop继续执行,通过condition同步
4区
getEvents
1.1 init()
3区
sendMessage
mCond.signal
loop
setPowerMode
SurfaceFlinger
1.3.1 waitForEvent
1.1.1.2getDataChannel()
A:取出event,并添加到mResponses队列
dispatchInvalidate
2.1.1 addResyncSample()
8.postEvent()
6.onVSyncEvent()
1.0.1.1
Hwcomposer
needsHwVsync=true
1.3. 6 epoll_wait
C:遍历mResponses,执行addfd中的callback函数。在MessageQueue中的callback函数为MessageQueue::cb_eventReceiver
1.0.1.2
DisplayEventReceiver
1.3.5 pollInner
Vsync
ThreadLoop
MessageSetPowerMode
注意到sendMessage传递的handle是this,这样在上面B中回调函数为MessageQueue::Handler::handleMessage
2区
onMessageReceived
9.sendObjects
mEventTube
msg
9.sendEvents()
postMessageSync
eventReceiver
1.0.1 init()
Loop
addfd
1.3.2 waitMessage
5.onDispSyncEvent()
connection
4.fireCallbackInvocations()
0 条评论
下一页