Skip to content
megai2 edited this page Jul 27, 2019 · 4 revisions

This build is compiled with ENABLE_METRICS define for preprocessor.

ENABLE_METRICS

Allows library to track and collect next data:

  1. frame statistics
  2. API overhead time
  3. Some derived values

All data is written in realtime to local log file in P7Logs folder by P7 library.

While being optimized, this adds some extra overhead, keep this in mind!

Using *.p7d files

To open this files you need to install a baical server application from

here(direct link)

Open and import your p7d file.

You should see at least 5 items inside of newly imported Gw2-64.exe line.

  1. "d3d9dev proxy < ... >" is a proxy library text log trace
  2. "d912pxy" is a main library text log trace
  3. "dheap" is a descriptor heap metrics data
  4. "iframe" is a internal frame metrics data
  5. "api overhead" is a API overhead metrics data

dheap metrics

Group: Slots

Number of free descriptor heap slots.

  1. srv - shader resource view heap slots, that used to store textures/buffers descriptors
  2. spl - sampler heap slots, used to store sampler configurations
  3. rtv - render target view help slots, used to store render targets/surfaces
  4. dsv - same as rtv but for depth buffers

iframe metrics

Group: total

Shows how much frame time in microseconds spend in various states

  1. sync - time of frame that was spend in synchronisation between threads
  2. prep - time of frame that was spend preparing scene
  3. exec - time of frame that was spend waiting for GPU work to be finished
  4. residency - time of frame that was spend moving resources from/to VRAM to/from RAM
  5. sync wake - time of frame that was spend waking threads to execute them

Group: derived

values derived from other counters

  1. prep per batch - time spend in Start-End period for one batch, in microseconds
  2. overhead per batch - time spend in API functions for one batch, in microseconds
  3. app prep - % of "prep" time that was spend in app code, multiplied by 100
  4. overhead - part of iframe prep time spend in API code, in microseconds

Group: counters

Various counters

  1. draws - how many DrawIndexedPrimitive calls was made in one frame
  2. cleans - how many objects was queued for deletion on this frame

Group: thread

How much time spend waiting for each of thread in microseconds

  1. buf - time spend waiting for buffer load thread
  2. rp0-rp3 - time spend waiting for replay threads
  3. text - time spend waitinf for texture load thread

Group: mem

Shows memory usage and related things

  1. pool/surf - amount of memory in Mb used in surface pool
  2. pool/ul - amount of memory in Mb used in upload pool
  3. pool/vstream - amount of memory in Mb used in vstream pool
  4. ul/aligned/buf - amount of upload memory in Mb used to upload vstream data to GPU, aligned on allocation grain
  5. ul/aligned/tex - amount of upload memory in Mb used to upload texture data to GPU, aligned on allocation grain
  6. ul/raw/buf - amount of upload memory in Mb used to upload vstream data to GPU, aligned on query grain
  7. ul/raw/tex - amount of upload memory in Mb used to upload texture data to GPU, aligned on query grain
  8. VA - memory allocated in VA tables, in Mb
  9. heap - memory allocated in system memory heap, in Mb
  10. watched - amount of objects in garbadge collector queue
  11. VRAM - amount of VRAM usage, in Mb
  12. VRAM shared - amount of shared VRAM usage, in Mb