菊花链带宽分析


Chart source
flowchart TD

%% ====================== 颜色定义 (Class Definitions) ======================
%% 定义不同的颜色风格,方便复用
classDef hardwareStyle fill:#e1f5fe,stroke:#01579b,stroke-width:2px;
classDef serviceStyle fill:#fff3e0,stroke:#ef6c00,stroke-width:2px;
classDef logicStyle fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px;
classDef danger fill:#ffebee,stroke:#c62828,color:#c62828;

%% ====================== 核心主体分组 ======================

subgraph Hardware[硬件物理层]
    GPU["7840U GPU 显示引擎 (DC Core)"]
    Port["USB-C 物理接口 (10Gbps 瓶颈)"]
    Cable["40Gbps 数据线 (降级运行)"]
    DaisyChain["显示器 1 (MST 中枢) -> 显示器 2 -> 显示器 3"]
end

subgraph Services[驱动与服务层]
    Driver["AMD 内核驱动 (AMDKMDAG.sys)"]
    EventSrv["AMD 外部事件服务 (关键:负责热插拔握手)"]
    CrashSrv["AMD 崩溃防御服务 (稳定性监控)"]
    UI["Adrenalin 软件界面"]
end

subgraph Protocols[协议与链路协商]
    AltMode["DP Alt Mode (链路建立)"]
    MST["MST 多流传输协议 (带宽切分)"]
    Training["链路训练 (Link Training)"]
    EDID["EDID 识别 (读取显示器参数)"]
end

subgraph BandwidthLogic[带宽调度逻辑]
    Supply["有效带宽供给: ~12.96Gbps (HBR3 2-Lane)"]
    Demand8["8bpc 总需求: ~16.89Gbps (溢出)"]
    Demand6["混合 6bpc 需求: <13Gbps (压线)"]
    Decision{带宽匹配结果}
end

%% ====================== 逻辑连接 ======================
UI -.->|用户设置 6bpc| Driver
EventSrv -->|监控状态| AltMode
Driver -->|输出像素流| Hardware
GPU --> Port --> Cable --> DaisyChain
Port --> AltMode --> Training --> MST --> EDID
EDID --> Demand8
EDID --> Demand6
Supply --> Decision
Demand8 --> Decision
Demand6 --> Decision

Decision --"服务关闭 (回落 8bpc)"--> Fail["带宽溢出: 强制降级 1080P"]
Decision --"服务开启 (锁定 6bpc)"--> Pass["带宽匹配: 维持 2K 分辨率"]

%% ====================== 样式应用 ======================
%% 应用大方框(Subgraph)的背景色
style Hardware fill:#e3f2fd,stroke:#2196f3,stroke-width:2px,stroke-dasharray: 5 5
style Services fill:#fff8e1,stroke:#ffc107,stroke-width:2px
style Protocols fill:#f1f8e9,stroke:#8bc34a,stroke-width:2px
style BandwidthLogic fill:#fce4ec,stroke:#f06292,stroke-width:2px

%% 应用特殊节点颜色
style Fail fill:#ffcdd2,stroke:#e53935,color:#b71c1c,stroke-width:3px
style Pass fill:#c8e6c9,stroke:#43a047,color:#1b5e20,stroke-width:3px
style EventSrv fill:#aa3a70,stroke:#ffa000,stroke-width:2px