Project Silk: Difference between revisions

Jump to navigation Jump to search
Line 70: Line 70:
[[File:Final_Vsync_Thread_model.png|800px|Idel Thread Model]]
[[File:Final_Vsync_Thread_model.png|800px|Idel Thread Model]]


==== Life cycle ====
==== Object life cycle ====
VsyncDispatcherHost/Client is created as a singleton object for each process and the life cycle of VsyncDispatcherHost/Client is different between chrome process and content process.
VsyncDispatcherHost/Client is created as a singleton object in each process.
* VsyncDispatcherHost
* 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)
We define PVsyncEvent as a top level protocol, as a result, VsyncDispatcherClient in Content side is created in the early stage of process initialization.


=== PVsyncEvent ===
=== PVsyncEvent ===
Confirmed users
1,643

edits

Navigation menu