Document deferred retained scaling polish
This commit is contained in:
parent
fba9d65ba1
commit
7575f851fe
1 changed files with 10 additions and 2 deletions
|
|
@ -20,6 +20,9 @@ be handled deliberately.
|
||||||
working and testable.
|
working and testable.
|
||||||
- Content freezing will use retained per-surface texture references, not a full
|
- Content freezing will use retained per-surface texture references, not a full
|
||||||
offscreen snapshot as the default design.
|
offscreen snapshot as the default design.
|
||||||
|
- Retained records should keep using the existing renderer behavior for now,
|
||||||
|
including clipping and edge stretch/clamp behavior for undersized contents. A
|
||||||
|
dedicated retained-tree scaling path is deferred to a later polish phase.
|
||||||
- The multiphase animation concept is original to Wry. Hy3 is relevant only as
|
- The multiphase animation concept is original to Wry. Hy3 is relevant only as
|
||||||
partial inspiration for tiling style and titlebar/grouping behavior.
|
partial inspiration for tiling style and titlebar/grouping behavior.
|
||||||
- Mono mode should mostly avoid animations. Exceptions are windows entering or
|
- Mono mode should mostly avoid animations. Exceptions are windows entering or
|
||||||
|
|
@ -107,6 +110,8 @@ Initial retained-record implementation status:
|
||||||
- Retained records hold both `GfxTexture` and `SurfaceBuffer` references so the
|
- Retained records hold both `GfxTexture` and `SurfaceBuffer` references so the
|
||||||
existing buffer release/sync path remains authoritative.
|
existing buffer release/sync path remains authoritative.
|
||||||
- Single-pixel buffers can be retained as color records.
|
- Single-pixel buffers can be retained as color records.
|
||||||
|
- Retained records render through the same texture and stretch/clamp paths used
|
||||||
|
by live surfaces. This is the expected Phase 2 behavior.
|
||||||
- Async SHM textures are not retained yet because Wry's per-surface SHM
|
- Async SHM textures are not retained yet because Wry's per-surface SHM
|
||||||
front/back textures can be reused by later commits while an animation is still
|
front/back textures can be reused by later commits while an animation is still
|
||||||
running. Those surfaces fall back to live rendering until an explicit offscreen
|
running. Those surfaces fall back to live rendering until an explicit offscreen
|
||||||
|
|
@ -121,13 +126,16 @@ Implementation shape:
|
||||||
- Extend event/sync handling so retained buffers remain valid until the animation
|
- Extend event/sync handling so retained buffers remain valid until the animation
|
||||||
is complete.
|
is complete.
|
||||||
|
|
||||||
Open design work:
|
Deferred/future polish:
|
||||||
|
|
||||||
- Exact lifetime model for retained `SurfaceBuffer` / `GfxTexture` references.
|
|
||||||
- Whether retained records participate in frame callbacks or presentation
|
- Whether retained records participate in frame callbacks or presentation
|
||||||
feedback. Default assumption: no, because they are compositor animation frames,
|
feedback. Default assumption: no, because they are compositor animation frames,
|
||||||
not client commits.
|
not client commits.
|
||||||
- How to fall back when a buffer cannot be safely retained.
|
- How to fall back when a buffer cannot be safely retained.
|
||||||
|
- A distinct retained-tree scaling render path for true spawn-in/spawn-out
|
||||||
|
content scaling. If added, start with retained GPU-backed records only, keep
|
||||||
|
the animated frame as the clip boundary, and avoid live SHM scaling until there
|
||||||
|
is an explicit snapshot/copy fallback.
|
||||||
|
|
||||||
## Phase 3: Multiphase No-Overlap Animations
|
## Phase 3: Multiphase No-Overlap Animations
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue