2024-01-03 16:30:16 -05:00
|
|
|
# Clutter Frame scheduling
|
2023-12-18 11:30:53 -05:00
|
|
|
|
|
|
|
`ClutterFrameClock` state diagram.
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
stateDiagram
|
2024-02-03 17:54:45 -05:00
|
|
|
Init --> Scheduled/ScheduledNow : schedule update() -> now
|
|
|
|
Idle --> Scheduled/ScheduledNow : schedule update() -> given presentation time
|
|
|
|
Scheduled/ScheduledNow --> Dispatching : target time hit
|
2023-12-18 11:30:53 -05:00
|
|
|
Dispatching --> PendingPresented : queued page flip
|
|
|
|
Dispatching --> Idle : no queued page flip
|
2024-02-03 17:54:45 -05:00
|
|
|
PendingPresented --> Scheduled/ScheduledNow : page flipped, if recent schedule update
|
2023-12-18 11:30:53 -05:00
|
|
|
PendingPresented --> Idle : page flipped
|
|
|
|
```
|