Confirmed users
1,643
edits
| Line 70: | Line 70: | ||
[[File:Final_Vsync_Thread_model.png|800px|Idel Thread Model]] | [[File:Final_Vsync_Thread_model.png|800px|Idel Thread Model]] | ||
==== | ==== Object life cycle ==== | ||
VsyncDispatcherHost/Client is created as a singleton object | VsyncDispatcherHost/Client is created as a singleton object in each process. | ||
* VsyncDispatcherHost's life cycle in chrome process | |||
** Create in gfxPlatform::Init | ** Create in gfxPlatform::Init | ||
** Release in gfxPlatform::Shutdown | ** Release in gfxPlatform::Shutdown | ||
* VsyncDispatcherClient | * VsyncDispatcherClient's life cycle in content process | ||
** Create in PVsyncEventChild::Create(VsyncEvent protocol creation) | ** Create in PVsyncEventChild::Create(VsyncEvent protocol creation). Since we define PVsyncEvent as a top level protocol, VsyncDispatcherClient is constructed in the early stage of content process initialization. | ||
** Release in PVsyncEventChild::ActorDestroy(VsyncEvent protocol destroy) | ** Release in PVsyncEventChild::ActorDestroy(VsyncEvent protocol destroy) | ||
=== PVsyncEvent === | === PVsyncEvent === | ||