Drive PAGX viewer animations via PAGScene and PAGTimeline with playback and profiling#3580
Open
CodeJhF wants to merge 4 commits into
Open
Drive PAGX viewer animations via PAGScene and PAGTimeline with playback and profiling#3580CodeJhF wants to merge 4 commits into
CodeJhF wants to merge 4 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3580 +/- ##
=======================================
Coverage 82.56% 82.57%
=======================================
Files 707 707
Lines 91382 91382
Branches 25871 25871
=======================================
+ Hits 75451 75455 +4
+ Misses 10436 10433 -3
+ Partials 5495 5494 -1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
CodeJhF
force-pushed
the
feature/markffan_pagxviewer_animation
branch
from
July 15, 2026 02:10
2402835 to
b24223a
Compare
shlzxjp
reviewed
Jul 15, 2026
shlzxjp
reviewed
Jul 15, 2026
shlzxjp
reviewed
Jul 15, 2026
shlzxjp
reviewed
Jul 15, 2026
…actor the PAGX renderer flush into focused helpers.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
背景
PAGX 预览器此前的渲染基于 tgfx
DisplayList/LayerBuilder,仅能显示静态画面,缺少动画播放能力。本 PR 将其重构为基于pagx::PAGScene+pagx::PAGTimeline的渲染管线,并补齐完整的动画播放与性能剖析支持。主要改动
1. 渲染管线重构
DisplayList/LayerBuilder迁移到pagx::PAGScene+pagx::PAGTimeline,通过pagx::Record渲染。DisplayOptions(setZoomScale/setContentOffset)。2. 动画播放
advanceAndApply),并将播放进度回报到 UI。LoopMode::Once)动画自然播放结束后停在末帧、按钮回到"播放"态,并停止渲染线程空转。3. 线程安全
getRenderState()在renderMutex下对场景/时间轴/进度做一致性快照,渲染线程仅操作快照副本。progress改为std::atomic<double>,消除渲染线程读、主线程写的数据竞争。4. 性能剖析
已知限制
PAGScene目前仅提供相对advanceAndApply、无绝对 seek 接口,需后续在引擎层补充绝对 seek 能力后再处理。测试
PAGViewer目标编译链接通过。PAGFullTest覆盖范围内。