• Intel® Graphics Performance Analyzers 2020 R1
  • 12/20/2019
  • Public Content
Contents

Graphics API Metrics

本节描述了可从 Intel® GPA 访问的所有 Graphics API 指标。
指标名称
描述
Main Metrics
Draw Calls
代表提交至 D3D Runtime 的 draw 的数量。
备注
此指标不受 Disable Draw Calls 覆盖的影响,Disable Draw Calls 在 draw calls 被提交到驱动程序之前,但是还在其被提交到 D3D Runtime 之后,将其禁用。
Frames per Second
代表以秒为标准的瞬时帧速率(反转帧时间)。
Frame Number
代表当前 CPU 帧的数量。
Frame Time
代表以微秒计算的瞬时帧时间。
DirectX Metrics
RT Changes
代表每帧的调用数量:
  • Microsoft DirectX* 9
    :每帧 IDirect3DDevice9::SetRenderTarget 调用总数。
  • Microsoft DirectX* 9Ex
    :每帧 IDirect3DDevice9Ex::SetRenderTarget 调用总数。
Shader Creations
代表每帧的调用数量:
  • Microsoft DirectX* 9
    :每帧 IDirect3DDevice9::CreateVertexShader/CreatePixelShader 调用总数。
  • Microsoft DirectX* 9Ex
    :每帧 IDirect3DDevice9Ex::CreateVertexShader/CreatePixelShader 调用总数。
  • Microsoft DirectX* 10
    :每帧 ID3D10Device::CreateVertexShader/CreateGeometryShader/ CreateGeometryShaderWithStreamOutput/CreatePixelShader 调用总数。
  • Microsoft DirectX* 11
    :每帧 ID3D11Device::CreateVertexShader/CreateGeometryShader/ CreateGeometryShaderWithStreamOutput/CreatePixelShader/CreateHullShader/CreateDomainShader 调用总数。
State Block Applies
代表每帧的 IDirect3DStateBlock9::Apply 调用数量。
State Block Captures
代表每帧的 IDirect3DStateBlock9::Capture 调用数量。
State Changes
代表设置为 D3D Runtime 的状态变化的数量。
Texture Creations
代表每帧的调用数量:
  • Microsoft DirectX* 9
    :每帧 IDirect3DDevice9::CreateTexture/CreateCubeTexture/CreateVolumeTexture 调用总数。
  • Microsoft DirectX* 9Ex
    :每帧 IDirect3DDevice9Ex::CreateTexture/CreateCubeTexture/CreateVolumeTexture 调用总数。
  • Microsoft DirectX* 10
    :每帧 ID3D10Device::CreateTexture1D/2D/3D 调用总数。
  • Microsoft DirectX* 11
    :每帧 ID3D11Device::CreateTexture1D/2D/3D 调用总数。
Buffer Creations
代表如下各项:
  • Microsoft DirectX* 10
    :ID3D10Device::CreateBuffer 每帧调用数。
  • Microsoft DirectX* 11
    :ID3D11Device::CreateBuffer 每帧调用数。
Buffer Maps
代表如下各项:
  • Microsoft DirectX* 10
    :ID3D10Buffer::Map 每帧调用数。
  • Microsoft DirectX* 11
    :接收到作为资源参数每帧的 ID3D11Buffer 的 ID3D11DeviceContext::Map 调用数。
Clears
代表每帧的调用数量:
  • Microsoft DirectX* 9
    :每帧 IDirect3DDevice9::Clear 调用总数。
  • Microsoft DirectX* 9Ex
    :每帧 IDirect3DDevice9Ex::Clear 调用总数。
Color Fills
代表每帧的调用数量:
  • Microsoft DirectX* 9
    :每帧 IDirect3DDevice9::ColorFill 调用总数。
  • Microsoft DirectX* 9Ex
    每帧
    IDirect3DDevice9Ex::ColorFill 调用总数。
IB Creations
代表每帧的调用数量:
  • Microsoft DirectX* 9
    :每帧 IDirect3DDevice9::CreateIndexBuffer 调用总数。
  • Microsoft DirectX* 9Ex
    :每帧 IDirect3DDevice9Ex::CreateIndexBuffer 调用总数。
IB Lock Time
代表 IB 锁定花费的时间,以微秒计算。这是仅在锁定例程内的实际时间量。
IB Locks
代表调用的索引缓冲区 (IB) 锁定数。
Locks
代表每帧调用的顶点缓冲区锁定数、索引缓冲区锁定数、表面锁定数和卷锁定数。
Lock Time
代表顶点缓冲区锁定、索引缓冲区锁定、表面锁定和卷锁定花费的总时间,以微秒计算。这是仅在锁定例程内的实际时间量。
Maps
代表纹理和 buffer maps 的数量。
Resource Copies
代表每帧的调用数量:
  • Microsoft DirectX* 10
    :ID3D10Device::CopyResource 每帧调用数。
  • Microsoft DirectX* 11
    :ID3D11DeviceContext::CopyResource 每帧调用数。
Resource Creations
代表每帧的调用数量:
  • Microsoft DirectX* 9
    :每帧 IDirect3DDevice9 CreateXXX 调用总数。
  • Microsoft DirectX* 9Ex
    :每帧 IDirect3DDevice9Ex CreateXXX 调用总数。
  • Microsoft DirectX* 10
    :每帧 ID3D10Device::CreateXXX 调用总数。
  • Microsoft DirectX* 11
    :每帧 ID3D11Device::CreateXXX 调用总数。
CreateXXX 意味着所有 Create 调用,即每帧 DX Create 纹理、每帧 DX Create 着色器、每帧 DX Create 表面等数量的合计。
RT Clears
代表每帧的调用数量:
  • Microsoft DirectX* 10
    :ID3D10RenderTargetView::Clear 每帧调用数。
  • Microsoft DirectX* 11
    :ID3D11DeviceContext::ClearRenderT 每帧调用数。
RT Data Gets
代表每帧的调用数量:
  • Microsoft DirectX* 9
    :每帧 IDirect3DDevice9::GetRenderTargetData 调用总数。
  • Microsoft DirectX* 9Ex
    :每帧 IDirect3DDevice9Ex::GetRenderTargetData 调用总数。
Stretch Rects
代表每帧的调用数量。
  • Microsoft DirectX* 9
    :每帧 IDirect3DDevice9::StretchRect 调用总数。
  • Microsoft DirectX* 9Ex
    :每帧 IDirect3DDevice9Ex::StretchRect 调用总数。
Surface Creations
代表每帧的调用数量:
  • Microsoft DirectX* 9
    :每帧 IDirect3DDevice9::CreateOffscreenPlainSurface/CreateDepthStencilSurface/CreateRenderTarget 调用总数。
  • Microsoft DirectX* 9Ex
    :每帧 IDirect3DDevice9Ex::CreateOffscreenPlainSurface/CreateDepthStencilSurface/CreateRenderTarget 调用总数。
Surface Lock Time
代表在每帧 DX 表面锁定上花费的总时间,以微秒计算。
Surface Locks
代表每帧 DirectX* 表面资源锁定的数量。
Surface Updates
代表每帧的调用数量:
  • Microsoft DirectX* 9
    :每帧 IDirect3DDevice9::UpdateSurface 调用总数。
  • Microsoft DirectX* 9Ex
    :每帧 IDirect3DDevice9Ex::UpdateSurface 调用总数。
Subresource Copies
代表每帧的调用数量:
  • Microsoft DirectX* 10
    :ID3D10Device::CopySubresourceRegion 每帧调用数。
  • Microsoft DirectX* 11
    :ID3D11DeviceContext::CopySubresourceRegion 每帧调用数。
Subresource Update
代表每帧的调用数量:
  • Microsoft DirectX* 10
    :ID3D10Device::UpdateSubresource 每帧调用数。
  • Microsoft DirectX* 11
    :ID3D11DeviceContext::UpdateSubresource 每帧调用数。
Texture1D Maps
代表每帧的调用数量:
  • Microsoft DirectX* 10
    :ID3D10Texture1D::Map 每帧调用数。
  • Microsoft DirectX* 11
    :接收的 ID3D11DeviceContext::Map 调用数目。ID3D11Texture1D 作为资源参数每帧。
Texture2D Maps
代表每帧的调用数量:
  • Microsoft DirectX* 10
    :ID3D10Texture2D::Map 每帧调用数。
  • Microsoft DirectX* 11
    :接收的 ID3D11DeviceContext::Map 调用数目。ID3D11Texture2D 作为资源参数每帧。
Texture3D Maps
代表每帧的调用数量:
  • Microsoft DirectX* 10
    :ID3D10Texture3D::Map 每帧调用数。
  • Microsoft DirectX* 11
    :接收的 ID3D11DeviceContext::Map 调用数目。ID3D11Texture3D 作为资源参数每帧。
VB Creations
代表每帧的调用数量:
  • Microsoft DirectX* 9
    :每帧 IDirect3DDevice9::CreateVertexBuffer 调用总数。
  • Microsoft DirectX* 9Ex
    :每帧 IDirect3DDevice9Ex::CreateVertexBuffer 调用总数。
VB Lock Time
代表在所有 VB lock API 中花费的时间(以微秒为单位)。这是仅在锁定例程内的实际时间量。
VB Locks
代表调用的顶点缓冲区 (VB) 锁定数量。
Volume Lock Time
代表在每帧 DX 卷锁定上花费的总时间(以微秒为单位)。
Volume Locks
代表每帧 DirectX* volume 资源锁定的数量。
Z/Stencil Clears
代表每帧的调用数量:
  • Microsoft DirectX* 10
    :ID3D10DepthStencilView::Clear 每帧调用数。
  • Microsoft DirectX* 11
    :ID3D11DeviceContext::ClearDepthStencilView 每帧调用数。
OpenGL Metrics
Buffer Creations
代表每帧从您的应用程序指定的 OpenGL ES 缓冲区数量。
Buffer Creations 指标较高时,查看是否可以更改您的应用程序,在应用程序启动时指定所需的缓冲区。
Indexed Draw Calls
代表每帧从您的应用程序发出的索引 draw calls 数量。
  • Indexed Draw Calls
    指标较高时,查看是否可以优化应用程序的几何图形,以更好地将顶点批处理到更少的 draw calls 内,特别是那些使用
    glDrawElements
    或其变体的应用程序。
  • Indexed Draw Calls
    指标远远低于
    Draw Calls
    指标时,查看是否可以优化您的应用程序,使用传递给
    glDrawElements
    API 或其变体的索引几何图形,而不是
    glDrawArrays
    和其变体。此外,检查
    Vertex Count
    Indexed Vertex Count
    指标,以查看正在绘制的数据量而不进行索引,来估计此类优化的影响。
Vertex Count
代表您的应用程序向每帧 OpenGL* draw calls 传送的顶点数量。它总计传递的 draw calls 数。
  • 如果
    Vertex Count
    指标比预期更高,而且片段处理不是瓶颈,检查是否您可以提高剔除,或是否可以使用 LOD 或其他技术以减少几何体的复杂性。
  • 如果
    Vertex Count
    指标较低,尝试增加几何图形的复杂性以作为较昂贵的操作(例如可能会减慢管线的 Alpha 测试)的替代方法。
Indexed Vertex Count
代表您的应用程序向每帧索引的 draw calls 传送的索引顶点的数量。
如果
Indexed Vertex Count
指标远远低于
Vertex Count
指标,查看是否可以优化您的应用程序,使用传送给
glDrawElements
API 或其变体的索引几何图形,而不是
glDrawArrays
及其变体。
RT Clears
代表每帧 Render Target clear 数量。
UseProgram Calls
代表每帧从您的应用程序使用 OpenGL* ES 着色器程序的调用数量。
如果
UseProgram Calls
指标较高,查看是否可以改进批处理,以绘制在绑定下一个程序之前使用某个特定程序的所有对象。使用静态流量控制将几个着色器合并入一个 uber-shader 也能降低此指标及其相关成本,但是不总能带来性能提升。
Error Gets
代表每帧从您的应用程序调用
glGetError
方法的次数。
Error Gets
指标高时,查看是否可以优化应用程序以避免在其渲染路径中检查错误条件。
BindBuffer Calls
代表每帧从您的应用程序绑定 OpenGL* ES 缓冲区的调用数量。
如果
BindBuffer Calls
指标较高,查看是否可以改进批处理,以绘制相同的几何体的所有实例而无需切换绑定缓冲区。额外的性能提升可能来自将一个缓冲区用于几个几何图形,并在需要时仅仅绘制合适的那个。
BindTexture Calls
代表每帧从您的应用程序绑定 OpenGL* ES 纹理的调用数量。
BindTexture Calls
指标高时,检查是否可以批处理地绘制使用一种特定纹理的所有对象,然后再绑定下一种纹理。如有可能,提高性能的下一个步骤是使用纹理图集,而不是使用多个较小的纹理。
RT Changes
代表每帧 Render Target 变化次数。
 

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804