Skip to content

Latest commit

 

History

History
26 lines (20 loc) · 1.29 KB

graphics_metrics.md

File metadata and controls

26 lines (20 loc) · 1.29 KB

Graphics Memory Metrics

The intent of this page is to provide more context and pointers to assess the cost of Chromium's rendering. It is also meant to be used to complement to warning in //tools/metrics/histograms/metadata/memory/histograms.xml.

GPU Process and Private Memory Footprint

tl;dr: Memory.Gpu.PrivateMemoryFootprint does not reflect memory used by graphics buffers on all platforms. A rough breakdown of platforms follows:

  • Android (including Android WebView), Linux, Chrome OS: None of the graphics buffers are accounted for. Only CPU-side memory is reflected.
  • Windows: Graphics memory may be partially or fully accounted for.
  • macOS, Intel CPUs: Graphics memory may be partially or fully accounted for.
  • macOS, ARM64: We believe that graphics buffers are fully accounted for.

In summary, ARM64 macOS is the only platform where we are reasonably confident that all memory allocations are properly reflected in Memory.Gpu.PrivateMemoryFootprint.

Caution: Rendering is heavily platform-specific. Do not assume that changes impacting a platform are reflected on another one. Even for macOS, there are many hardware, OS and Chromium-level differences. For instance, as of early 2024, rendering is performed using Metal on ARM64, and OpenGL on Intel mac devices.