跳到主要内容
系统体验案例BETA 0.3.0 · 本地验证Windows 桌面工具

ShadePilot

ShadePilot 不只是把显示参数集中到一个界面,而是围绕设备能力、系统状态、失败反馈与恢复路径,组织一套可理解、可验证的 Windows 显示控制体验。

案例基于 BETA 0.3.0 本地验证记录;公开下载包以发布页为准,不将本地构建等同于已发布版本。

Current state / 版本状态

案例复盘版本BETA 0.3.0
当前公开版本BETA 0.4.5
最后核验2026.09
ShadePilot 实际显示控制界面
实际主界面 · 设备控制、画面风格与状态反馈。

项目能力 Project Capabilities

从问题判断到可交付结果
桌面工具产品设计 Desktop Utility Design
系统状态设计 System State Design
能力型交互设计 Capability UX
多分辨率适配 DPI & Resolution Adaptation
持久化与异常恢复 Persistence & Recovery
AI 辅助实现 AI-assisted Implementation

01 · Overview

调节显示体验,不应该要求用户理解复杂的显示链路。

亮度、对比度、Gamma、色温和饱和度来自不同的硬件或软件通道。ShadePilot 的工作不是增加更多参数,而是把这些能力组织成可理解、可比较、可恢复的使用流程。

我的贡献

我负责把分散的显示调节组织为可保存、可比较、可恢复的操作流程,将设备不支持、应用失败与环境变化纳入产品反馈,并根据用户问题推进迭代。AI 辅助实现和调试;状态规则与验证范围由我确认。

根据真实使用反馈持续修正状态持久化、准星交互与快捷操作中的边界问题,并将问题拆分为可复现状态、交互规则与版本修复任务。

  • 状态归属:区分设备参数与画面风格,让保存、切换和恢复遵循一致规则。
  • 反馈转化:将高 DPI 文字遮挡归入布局问题,推动自适应布局调整。
  • 结果确认:增加能力说明与写入回读,让用户能够判断操作状态并定位失败原因。

下文按控制体验、显示适配和能力状态展开,具体设备与版本限制单独说明。

Problem

参数分散且关系模糊

显示器菜单、系统设置和色彩工具彼此割裂,用户难以判断哪个参数真正改变了观感。

Direction

集中控制与明确归属

硬件参数、画面风格和恢复操作分区管理,让每个控制项对应清楚的作用层级。

Principle

达到目标后停止扩张

只保留与调节、比较、切换和恢复直接相关的功能,不以数量替代产品价值。

02 · 故事一 · 控制体验

从调整参数,到确认效果,再到安全恢复。

核心体验围绕三个连续动作展开:快速建立画面风格、比较变化是否有效,以及在任何时候回到可靠状态。

ShadePilot 明暗调节效果对比
暗部提升与高光控制效果示意。实际结果受到显示设备、HDR 状态和系统色彩设置影响。
01

建立画面风格

调节暗部、高光、中间调、黑白位、色温与自然色彩,并保存为可复用预设。

02

快速比较结果

按住查看原始画面或使用 A/B 临时对比,减少凭记忆判断造成的偏差。

03

保留恢复路径

分别恢复硬件参数与画面曲线,并在正常退出时自动还原启动前状态。

03 · Interface

界面结构对应真实的控制层级。

主界面把设备参数与画面风格放在同一视野中,同时保持两类状态相互独立;工具中心则收纳比较、切换、分享与诊断等低频能力。

ShadePilot 显示控制界面
显示控制:显示器硬件参数、多屏同步与软件色彩后端。
ShadePilot 工具中心
工具中心:运行设置、原画 / A-B 对比、自动切换与环境诊断。

04 · System model

最关键的产品判断,是区分设备能力与软件能力。

相似的视觉结果可能来自完全不同的技术链路。只有先明确状态属于哪一层,界面反馈、错误说明和恢复策略才不会互相冲突。

Hardware path

DDC/CI:设备亮度与对比度

通过标准 Windows 显示器配置接口写入物理设备,能力取决于面板固件、连接方式、转接设备和显示器设置。

Software path

Gamma 与色彩矩阵:画面风格

负责明暗曲线、曝光、色温、色调与软件饱和度,由统一状态合成,避免不同参数相互覆盖。

01

运行时能力检测

不预设所有设备都支持同一条链路,而是先检测 DDC/CI 与 Windows 软件色彩能力。

02

用户可以选择后端

自动模式之外保留明确选择,让用户知道参数由显示器硬件还是系统软件负责。

03

不可用也保持稳定

控件继续占据固定位置,并显示禁用状态与原因,避免静默回退和布局跳动。

故事二 · 4K / 高 DPI

从“间距不对”定位到 Per-Monitor DPI 架构。

01

Observed issue

4K 环境下文字与控件发生遮挡。
02

Surface diagnosis

看起来像 spacing 或控件高度问题。
03

Root cause

固定坐标与 Per-Monitor DPI 缩放不一致。
04

Decision

停止继续微调固定像素,转向布局架构。
05

Architecture change

改用 WPF 自适应、内容驱动的容器布局。
06

Result

2K、4K 与高 DPI 进入可验证的系统路径。

故事三 · 能力状态

按钮存在,不代表当前系统能力可用。

能力状态显式展示,避免用户把设备限制误判为软件故障;失败、回读成功和恢复路径都进入同一套反馈。

可用

完成写入与回读

当前不可用

设备或链路暂不可用

系统不支持

未暴露稳定接口

异常

失败并保留恢复入口

已恢复

状态回读并恢复稳定

Technical research

只承诺能够通过公开稳定接口验证的能力。

展开 Vendor API research ↘

本轮调研确认 AMD ADLX 提供公开的显示饱和度能力接口;NVIDIA 的公开 NVAPI 与 Intel 面向普通桌面应用的公开接口中,未找到适合稳定发布的同等写入能力。因此 0.1.7 先交付可验证的 DDC/CI 与 Windows 软件色彩路径,没有用厂商私有调用制造“三家显卡均已支持”的假象。

05 · User feedback

真实反馈,是下一轮迭代的起点。

这些匿名反馈涉及预设分享、多显示器、饱和度和界面适配。我先区分功能诉求与环境故障,再决定进入体验设计、兼容性诊断还是布局重构。

公开反馈 / PUBLIC RESPONSE

LootPilot 与 ShadePilot 两项公开产品累计获得 3000+ 点赞、5200+ 收藏与 60+ GitHub Stars。

以上为公开互动与公开反馈数据,不等同于独立用户数、实际使用人数或下载量。

Feedback Loop · 高 DPI 布局

  1. Feedback:用户截图反馈 4K 环境下文字被滑块裁切。
  2. Reproduce:在 100%–200% 五档缩放下复现文字、控件与容器的碰撞。
  3. Decision:将问题归入固定坐标与 Per-Monitor DPI 架构,而不是继续逐项微调像素。
  4. Fix:改用 TableLayoutPanel / FlowLayoutPanel 的内容驱动布局,并收敛为单一滚动区域。
  5. Release:BETA 0.1.7(公开发布记录);当前公开版本 BETA 0.4.5。
  6. Verification:回归 2K、4K 与高 DPI 组合;修复后通过本地复测确认。

06 · Current state

当前重点,是让每一次显示写入都可验证、可诊断、可恢复。

BETA 0.3.0 已完成本地构建与基础验证,面向 Windows 10/11。WPF 主界面、显示环境恢复和 Gamma 回读链路已经形成;HDR、驱动切换、第三方色彩管理及更多真实多屏组合仍需继续回归,测试版尚未进行商业代码签名。

产品的下一步不是继续增加控制项,而是扩充真实设备矩阵,确认目标显示器、写入结果、失败原因与恢复状态能够被稳定记录。

Continue exploring

继续查看相关实践与完整经历。

Resume
返回全部作品
辅助能力与迭代记录完整版本演进、辅助工具和运行边界。

A1 · Supporting tools

辅助能力只服务于更快确认与更少重复设置。

ShadePilot 画面风格界面
画面风格:预设参数、曲线与一键优化集中在同一工作区。
01

全局快捷键与多预设循环切换

02

按前台应用规则自动应用指定预设

03

环境诊断中心集中显示系统与设备能力

04

本地保存设置,不包含账号、遥测或广告 SDK

A2 · 迭代附录

完整版本记录保留,但不打断案例主线。

核心判断已经归入控制体验、高 DPI 和能力状态三个故事;需要核对技术演进时,可以展开下面的完整记录。

完整迭代记录 · BETA 0.1.5 → 0.3.0
01

BETA 0.1.5 · 产品闭环

从单项调节,形成可保存、可分享、可恢复的体验闭环

让参数真正属于用户正在使用的预设

用户发现饱和度跟随显示器而不是画面风格。重新梳理状态归属后,饱和度改为预设参数,并同步进入保存、快捷键、循环切换、自动应用、A/B 对比与重置流程。分享代码升级为 SP2,同时为旧预设和 SP1 代码提供默认值迁移。

02

BETA 0.1.5 · 辅助能力

比较、切换、分享和诊断围绕同一核心任务工作

新增能力只服务于确认效果与减少重复设置

加入按住查看原画、A/B 临时对比、前台应用自动切换、多预设循环快捷键、分享代码和环境诊断中心。预设支持编辑、重命名和删除,同时移除重复的旧 JSON 导入导出入口。

03

BETA 0.1.6 · 根因定位

把反复出现的视觉 Bug 提升为可验证的系统问题

4K 文字遮挡不是间距问题,而是 DPI 架构问题

用户截图显示字体被滑块裁切。定位后确认旧 WinForms 固定坐标、控件高度与 Per-Monitor DPI 缩放不一致。先完成 100%—200% 五档碰撞检查,再停止继续逐项移动像素,转向布局架构重构。

04

BETA 0.1.7 · 架构重构

2K、4K 与高 DPI 下布局不再依赖单机像素微调

从固定坐标改为内容驱动的自适应布局

主界面重构为 TableLayoutPanel 与 FlowLayoutPanel:参数行、画面风格网格、顶部导航和底部状态区由容器分配尺寸。主题改为按容器语义递归继承,并将页面收敛为单一滚动区域。

05

BETA 0.1.7 · 能力透明

兼容性从隐藏限制变成可以理解的产品反馈

不把不可用的显示能力伪装成一个正常按钮

饱和度加入自动、显示器 DDC/CI 与 Windows 软件色彩后端选择,并在运行时检测可用性。不可用时仍保留控件位置,禁用操作并解释原因,避免状态消失、界面跳动或静默失败。

06

发布与回归

形成可追踪、可构建、可公开验证的交付结果

每次修复都进入版本、文档与发布包

窗口标题、文件版本、README、CHANGELOG、可执行文件、发布压缩包和源码包保持一致;针对主题继承、下拉框边界、重复滚动和不可用状态继续回归,最终发布 BETA 0.1.7。

07

BETA 0.1.8 · 多显示器

从“写入成功”推进到“写入了正确的设备”

把画面调整绑定到真实显示输出

混合显卡设备上,Gamma Ramp 可能被写入错误输出。版本改为通过目标 DISPLAY 创建对应设备上下文,并在诊断信息中显示输出显卡;多屏同步按逻辑输出去重,单屏失败也不会阻断其他屏幕。

08

BETA 0.1.9 · 性能边界

把“轻量”落实为可解释的运行时行为

停止不必要的轮询,并主动避开高风险图形链路

原画对比改为事件式切换,移除 25ms 按键轮询;关闭自动切换时彻底停止后台检测。软件饱和度改为按需启动,在全屏应用前台时暂停可能与帧生成技术冲突的颜色矩阵。

09

BETA 0.2.0 · 工作流延伸

同一套视觉意图可以被观察、导出并安全恢复

让调整结果从本地观感延伸到录制输出

主界面加入实时明暗曲线,并可导出标准 33³ .cube 3D LUT 供 OBS 使用;同时加入独立游戏性能保护,在全屏期间暂停软件饱和度与显示器重检,退出后再延迟恢复。

10

BETA 0.2.1 · WPF 迁移

界面重构不以丢失成熟能力为代价

用自适应界面承接完整产品能力

将旧版核心能力迁移到 WPF,并统一主界面、工具中心和深浅主题;恢复参数风险分析、快捷键循环范围、气泡说明与硬件启动值恢复,同时补齐不同 DPI 下的内容布局。

11

BETA 0.2.1 · 环境恢复

把偶发设备变化转化为可恢复的产品状态

把显示器重连和休眠唤醒纳入正常流程

监听显示环境变化,在显示器重连、休眠唤醒后延迟重扫设备并恢复画面风格;重新采集 Gamma 基线,减少混合显卡、多显示器和全屏切换后的状态漂移。

12

BETA 0.3.0 · 写入验证

从“调用成功”推进到“目标、结果和失败原因都可确认”

不再把驱动接受调用等同于画面已经生效

Gamma Ramp 写入会重新绑定目标显示输出、有限重试并回读验证;驱动调用移到后台线程,多屏应用按一次原子操作处理,最近结果与错误进入环境诊断中心。

ShadePilot BETA 0.3.0 WPF 显示控制主界面与自适应布局
BETA 0.3.0 WPF 主界面:显示器硬件参数、多屏同步与软件色彩后端。
ShadePilot 环境诊断中心、多屏 Gamma 状态与错误记录
环境诊断中心:集中记录系统环境、多屏 Gamma 状态与最近错误。

A3 · Boundaries

轻量不是功能少,而是每项能力都有明确责任。

ShadePilot 不读取或修改第三方应用进程,不创建覆盖层、不截图、不模拟输入,也不依赖在线服务。它只调用 Windows 显示与色彩能力,并为设备差异保留清楚的诊断与恢复路径。

兼容性透明

DDC/CI、HDR、扩展坞、转接器和厂商实现都会影响可用能力,界面应如实显示而不是伪装成功。

恢复优先

启动时记录可读取状态,硬件参数与画面风格分别重置,正常退出默认执行恢复。

克制迭代

只有当新能力能缩短判断路径、减少重复设置或提高可诊断性时,才进入产品范围。

Contact

联系我

如果你想聊产品设计、数字产品或合作机会,可以通过下面的方式联系我。