Expand description
§Overlay profiler
§Profiler UI string syntax
Comma-separated list of of tokens with trailing and leading spaces trimmed. Each tokens can be:
- A counter name with an optional prefix. The name corresponds to the displayed name (see the
counters vector below.
- By default (no prefix) the counter is shown as average + max over half a second.
- With a ‘#’ prefix the counter is shown as a graph.
- With a ‘*’ prefix the counter is shown as a change indicator.
- Some special counters such as GPU time queries have specific visualizations ignoring prefixes.
- A preset name to append the preset to the UI (see PROFILER_PRESETS).
- An empty token to insert a bit of vertical space.
- A ‘|’ token to start a new column.
- A ‘_’ token to start a new row.
Macros§
- profile_
marker 🔒 - A helper macro to define profile scopes.
- set_
text 🔒
Structs§
- Counter
- Counter
Descriptor - CpuFrame
Timings - Expected
- Ranges of expected value for a profile counter.
- GpuProfile
Tag - Graph
- Graph
Stats - Profile
Scope - A simple RAII style struct to manage a profile scope.
- Profiler
- Profiler
Frame 🔒 - Profiler
Frame 🔒Collection - Transaction
Profile - A container for profiling information that moves along the rendering pipeline and is handed off to the profiler at the end.
Enums§
Constants§
- ALPHA_
PASSES - ALPHA_
TARGETS_ SAMPLERS - API_
SEND_ TIME - ATLAS_
A8_ GLYPHS_ PIXELS - ATLAS_
A8_ GLYPHS_ TEXTURES - ATLAS_
A8_ PIXELS - ATLAS_
A8_ TEXTURES - ATLAS_
A16_ PIXELS - ATLAS_
A16_ TEXTURES - ATLAS_
ALPH A8_ GLYPHS_ PRESSURE - ATLAS_
ALPH A8_ PRESSURE - ATLAS_
ALPH A16_ PRESSURE - ATLAS_
COLO R8_ GLYPHS_ PRESSURE - ATLAS_
COLO R8_ LINEAR_ PRESSURE - ATLAS_
COLO R8_ NEAREST_ PRESSURE - ATLAS_
ITEMS_ MEM - ATLAS_
RGBA8_ GLYPHS_ PIXELS - ATLAS_
RGBA8_ GLYPHS_ TEXTURES - ATLAS_
RGBA8_ LINEAR_ PIXELS - ATLAS_
RGBA8_ LINEAR_ TEXTURES - ATLAS_
RGBA8_ NEAREST_ PIXELS - ATLAS_
RGBA8_ NEAREST_ TEXTURES - ATLAS_
STANDALONE_ PRESSURE - ATLAS_
TEXTURES_ MEM - BACKGROUND_
COLOR 🔒 - BLOB_
RASTERIZATION_ TIME - COLOR_
PASSES - COMPOSITOR_
SURFACE_ BLITS - COMPOSITOR_
SURFACE_ OVERLAYS - COMPOSITOR_
SURFACE_ UNDERLAYS - CONTENT_
SEND_ TIME - CPU_
TEXTURE_ ALLOCATION_ TIME - CREATED_
TARGETS - CREATE_
CACHE_ TEXTURE_ TIME - DELETE_
CACHE_ TEXTURE_ TIME - DEPTH_
TARGETS_ MEM - DISPLAY_
LIST_ BUILD_ TIME - DISPLAY_
LIST_ MEM - DRAW_
CALLS - EXTERNAL_
IMAGE_ BYTES - FONT_
TEMPLATES - FONT_
TEMPLATES_ MEM - FRAME_
BATCHING_ TIME - FRAME_
BUILDING_ TIME - FRAME_
PREPARE_ TIME - FRAME_
SEND_ TIME - FRAME_
TIME - FRAME_
VISIBILITY_ TIME - GLYPH_
RESOLVE_ TIME - GPU_
BUFFER_ MEM - GPU_
CACHE_ BLOCKS_ SAVED - GPU_
CACHE_ BLOCKS_ TOTAL - GPU_
CACHE_ BLOCKS_ UPDATED - GPU_
CACHE_ MEM - GPU_
CACHE_ PREPARE_ TIME - GPU_
CACHE_ ROWS_ TOTAL - GPU_
CACHE_ ROWS_ UPDATED - GPU_
CACHE_ UPLOAD_ TIME - GPU_
TIME - GPU_
TOTAL_ MEM - GRAPH_
FRAME_ 🔒HEIGHT - GRAPH_
HEIGHT 🔒 - GRAPH_
PADDING 🔒 - GRAPH_
WIDTH 🔒 - IMAGE_
TEMPLATES - IMAGE_
TEMPLATES_ MEM - INTERNED_
BACKDROP_ CAPTURES - INTERNED_
BACKDROP_ RENDERS - INTERNED_
BOX_ SHADOWS - INTERNED_
CLIPS - INTERNED_
CONIC_ GRADIENTS - INTERNED_
FILTER_ DATA - INTERNED_
IMAGES - INTERNED_
IMAGE_ BORDERS - INTERNED_
LINEAR_ GRADIENTS - INTERNED_
LINE_ DECORATIONS - INTERNED_
NORMAL_ BORDERS - INTERNED_
PICTURES - INTERNED_
POLYGONS - INTERNED_
PRIMITIVES - INTERNED_
RADIAL_ GRADIENTS - INTERNED_
TEXT_ RUNS - INTERNED_
YUV_ IMAGES - NUM_
PROFILER_ EVENTS - ONE_
SECOND_ 🔒NS - OPAQUE_
PASS_ SAMPLERS - PICTURE_
CACHE_ SLICES - PICTURE_
TILES - PICTURE_
TILES_ MEM - PRIMITIVES
- PROFILE_
PADDING 🔒 - PROFILE_
SPACING 🔒 - RASTERIZED_
BLOBS - RASTERIZED_
BLOBS_ PX - RASTERIZED_
BLOB_ TILES - RASTERIZED_
GLYPHS - RENDERED_
PICTURE_ TILES - RENDERER_
TIME - RENDER_
REASON_ ANIMATED_ PROPERTY - RENDER_
REASON_ APZ - RENDER_
REASON_ ASYNC_ IMAGE - RENDER_
REASON_ CLEAR_ RESOURCES - RENDER_
REASON_ CONFIG_ CHANGE - RENDER_
REASON_ CONTENT_ SYNC - RENDER_
REASON_ FIRST - RENDER_
REASON_ FLUSH - RENDER_
REASON_ OTHER - RENDER_
REASON_ POST_ RESOURCE_ UPDATE_ HOOKS - RENDER_
REASON_ RESIZE - RENDER_
REASON_ RESOURCE_ UPDATE - RENDER_
REASON_ SCENE - RENDER_
REASON_ SNAPSHOT - RENDER_
REASON_ TESTING - RENDER_
REASON_ TEXTURE_ CACHE_ FLUSH - RENDER_
REASON_ VSYNC - RENDER_
REASON_ WIDGET - RENDER_
TARGET_ MEM - SCENE_
BUILD_ TIME - SHADER_
BUILD_ TIME - SLOW_
BLOB_ COUNT - SLOW_
DRAW_ CALLS_ COUNT - SLOW_
FRAME - SLOW_
FRAME_ BUILD_ COUNT - SLOW_
FRAME_ CPU_ COUNT - SLOW_
FRAME_ GPU_ COUNT - SLOW_
RENDER_ COUNT - SLOW_
SCROLL_ AFTER_ SCENE_ COUNT - SLOW_
TARGETS_ COUNT - SLOW_
TXN - SLOW_
UPLOAD_ COUNT - STAGING_
TEXTURE_ ALLOCATION_ TIME - STANDALONE_
TEXTURES_ MEM - TEXTURES_
CREATED - TEXTURES_
DELETED - TEXTURE_
CACHE_ EVICTION_ COUNT - TEXTURE_
CACHE_ UPDATE_ TIME - TEXTURE_
CACHE_ YOUNGEST_ EVICTION - TEXTURE_
UPLOADS - TEXTURE_
UPLOADS_ MEM - TOTAL_
FRAME_ CPU_ TIME - TOTAL_
SAMPLERS - TOTAL_
UPLOAD_ TIME - TRANSPARENT_
PASS_ SAMPLERS - UPDATE_
DOCUMENT_ TIME - UPLOAD_
CPU_ COPY_ TIME - UPLOAD_
GPU_ COPY_ TIME - UPLOAD_
NUM_ COPY_ BATCHES - UPLOAD_
TIME - USED_
TARGETS - VERTICES
- VISIBLE_
PRIMITIVES
Statics§
- PROFILER_
HOOKS - The current global profiler callbacks, if set by embedder.
- PROFILER_
PRESETS 🔒 - Profiler UI string presets. Defined in the profiler UI string syntax, can contain other presets.
Traits§
- Event
Value - Profiler
Hooks - Defines the interface for hooking up an external profiler to WR.
Functions§
- add_
event_ marker - Records a marker of the given duration that just ended.
- add_
text_ marker - Records a marker of the given duration that just ended.
- bytes_
to_ mb - expected 🔒
- find_
preset 🔒 - ms_
to_ ns - ns_
to_ ms - register_
thread - Register a thread with the Gecko Profiler.
- set_
profiler_ hooks - Set the profiler callbacks, or None to disable the profiler. This function must only ever be called before any WR instances have been created, or the hooks will not be set.
- thread_
is_ being_ profiled - Returns true if the current thread is being profiled.
- unregister_
thread - Unregister a thread with the Gecko Profiler.