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