Skip to content

feat(wallet-card): OffscreenCanvas Worker + 摩擦力优化 - #137

Merged
Gaubee merged 1 commit into
mainfrom
feat/offscreen-canvas-refraction
Dec 28, 2025
Merged

Gaubee merged 1 commit into
mainfrom
feat/offscreen-canvas-refraction

Conversation

@Gaubee

@Gaubee Gaubee commented Dec 28, 2025

Copy link
Copy Markdown
Contributor

改动概述

将 HologramCanvas 渲染迁移到 OffscreenCanvas Worker,实现多卡片优先级调度和多项性能优化。

主要改动

1. OffscreenCanvas Worker 架构

  • refraction/ 模块:types, renderer, worker, scheduler, hologram-canvas
  • 渲染完全在 Worker 中进行,不阻塞主线程

2. 逻辑坐标系统

  • 使用 16×10 逻辑尺寸(8:5 银行卡比例)
  • Pattern 完美整除,实现绝对对称

3. 优先级调度

优先级 帧率 分辨率
high 60fps devicePixelRatio
medium 30fps 1x
low 15fps 0.5x

4. 性能优化

  • 页面可见性 API:切换标签页暂停渲染
  • 静态模式缓存:mode=static 只渲染一次
  • 动态刷新:状态无变化时跳过渲染
  • 摩擦力系统:3s 低运动后冻结,过滤桌面微振

测试

  • pnpm typecheck:run 通过
  • pnpm vitest run 通过 (1601 tests)

- 迁移 hologram 渲染到 OffscreenCanvas Worker
- 引入逻辑坐标系统实现完美对称
- 优先级调度:high=60fps/全DPR, medium=30fps/1x, low=15fps/0.5x
- 页面可见性 API:切换标签页暂停渲染
- 静态模式缓存:mode=static 只渲染一次
- 动态刷新:状态无变化时跳过渲染
- 摩擦力系统:3s 低运动后冻结,过滤桌面微振
@Gaubee
Gaubee merged commit 3fbcc11 into main Dec 28, 2025
5 checks passed
@Gaubee
Gaubee deleted the feat/offscreen-canvas-refraction branch December 28, 2025 05:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant