代码之家  ›  专栏  ›  技术社区  ›  Tony Vijay

Chrome奇怪的“gpu首选项”

  •  3
  • Tony Vijay  · 技术社区  · 7 年前

    ps -ef chrome :

    501   536   493   0 二11上午 ??       13:11.48 /Applications/Google Chrome.app/Contents/Versions/69.0.3497.100/Google Chrome Helper.app/Contents/MacOS/Google Chrome Helper --type=gpu-process --field-trial-handle=3535656472344341962,3817030915272013891,131072 --gpu-preferences=KAAAAAAAAACAAAAAAQAAAAAAAAAAAGAAAAAAAAAAAAAIAAAAAAAAADgBAAAmAAAAMAEAAAAAAAA4AQAAAAAAAEABAAAAAAAASAEAAAAAAABQAQAAAAAAAFgBAAAAAAAAYAEAAAAAAABoAQAAAAAAAHABAAAAAAAAeAEAAAAAAACAAQAAAAAAAIgBAAAAAAAAkAEAAAAAAACYAQAAAAAAAKABAAAAAAAAqAEAAAAAAACwAQAAAAAAALgBAAAAAAAAwAEAAAAAAADIAQAAAAAAANABAAAAAAAA2AEAAAAAAADgAQAAAAAAAOgBAAAAAAAA8AEAAAAAAAD4AQAAAAAAAAACAAAAAAAACAIAAAAAAAAQAgAAAAAAABgCAAAAAAAAIAIAAAAAAAAoAgAAAAAAADACAAAAAAAAOAIAAAAAAABAAgAAAAAAAEgCAAAAAAAAUAIAAAAAAABYAgAAAAAAABAAAAAAAAAAAAAAAAUAAAAQAAAAAAAAAAAAAAALAAAAEAAAAAAAAAAAAAAADAAAABAAAAAAAAAAAAAAAA0AAAAQAAAAAAAAAAAAAAAPAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAABIAAAAQAAAAAAAAAAAAAAATAAAAEAAAAAAAAAABAAAABQAAABAAAAAAAAAAAQAAAAsAAAAQAAAAAAAAAAEAAAAMAAAAEAAAAAAAAAABAAAADQAAABAAAAAAAAAAAQAAAA8AAAAQAAAAAAAAAAEAAAAQAAAAEAAAAAAAAAABAAAAEgAAABAAAAAAAAAAAQAAABMAAAAQAAAAAAAAAAQAAAAFAAAAEAAAAAAAAAAEAAAACwAAABAAAAAAAAAABAAAAAwAAAAQAAAAAAAAAAQAAAANAAAAEAAAAAAAAAAEAAAADwAAABAAAAAAAAAABAAAABAAAAAQAAAAAAAAAAQAAAASAAAAEAAAAAAAAAAEAAAAEwAAABAAAAAAAAAABgAAAAUAAAAQAAAAAAAAAAYAAAALAAAAEAAAAAAAAAAGAAAADQAAABAAAAAAAAAABgAAAA8AAAAQAAAAAAAAAAYAAAAQAAAAEAAAAAAAAAAGAAAAEgAAABAAAAAAAAAABgAAABMAAAAQAAAAAAAAAAcAAAAFAAAAEAAAAAAAAAAHAAAACwAAABAAAAAAAAAABwAAAA0AAAAQAAAAAAAAAAcAAAAPAAAAEAAAAAAAAAAHAAAAEAAAABAAAAAAAAAABwAAABIAAAAQAAAAAAAAAAcAAAATAAAA --service-request-channel-token=17030867567105907743
    

    enter image description here

    出于好奇,我发现 source of chromium

    namespace gl {
    // On dual-GPU systems, expresses a preference for using the integrated
    // or discrete GPU. On systems that have dual-GPU support (see
    // GpuDataManagerImpl), resource sharing only works between
    // contexts that are created with the same GPU preference.
    //
    // This API will likely need to be adjusted as the functionality is
    // implemented on more operating systems.
    enum GpuPreference {
      GpuPreferenceNone,
      PreferIntegratedGpu,
      PreferDiscreteGpu,
      GpuPreferenceLast = PreferDiscreteGpu
    };
    }  // namespace gl
    

    那么,这是参数吗( KAAAA.... GPU

    1 回复  |  直到 7 年前
        1
  •  8
  •   Josh Lee ZZ Coder    7 年前

    任何时候你看到一个编码 AAAA 在它里面,你可以打赌它是一个二进制的Base64编码,里面有很多空值。

    >>> a=b'KAAAAAAAAAQAAAAAAAAAAAGAAAAAAAAAAAAAIAAAAAAAAADgBAAAmAAAAM=='
    >>> base64.b64decode(a).hex()
    '2800000000000004000000000000000001800000000000000000002000000000000000e004000098000000'
    

    对应于此接口: https://cs.chromium.org/chromium/src/gpu/ipc/common/gpu_preferences.mojom

    wire格式似乎没有太多的文档记录,所以如果您想解释这个值,最好检查chromium树并构建绑定生成器。 https://chromium.googlesource.com/chromium/src/+/master/mojo/public/tools/bindings/README.md