Partilhar via


Limites de recursos (Direct3D 11)

Este tópico contém uma lista de recursos suportados pelo Direct3D 11 (especificamente nível de recurso hardware 11 ou 9.x).

Limites de recursos para hardware de nível de funcionalidade 11

Todos esses limites de recursos são definidos como constantes em D3d11.h.

Recurso Limite
Número de elementos em um buffer constante D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
Número de texels (independente do tamanho da estrutura) num buffer D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (2 7) Texels
Dimensão Texture1D U D3D11_REQ_TEXTURE1D_U_DIMENSION (16384)
Dimensão de Texture1DArray D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (2048 segmentos de matriz)
Dimensão U/V de Texture2D D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384)
Dimensão de Texture2DArray D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (2048 camadas de matriz)
Dimensão Texture3D U/V/W D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048)
Dimensão TextureCube D3D11_REQ_TEXTURECUBE_DIMENSION (16384)
Tamanho do recurso (em MB) para qualquer um dos recursos anteriores min(max(128,0.25f * (quantidade de VRAM dedicada)), 2048) MB
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128)
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0.25f)
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM (2048)
Filtragem anisotrópica maxanisotropia D3D11_REQ_MAXANISOTROPY (16)
Dimensão do recurso filtrável por hardware de filtragem D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (16384) por dimensão
Tamanho do recurso (em MB) endereçável por IA (dados de entrada ou vértice) ou VS/GS/PS (amostra pontual) max(128,0.25f * (quantidade de VRAM dedicado)) MB
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128)
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0.25f)
Número total de visualizações de recursos por contexto (cada matriz conta como 1) (todos os tipos de exibição têm limite compartilhado) D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP (2 )
Tamanho da estrutura do buffer (multielemento) D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES (2048 bytes)
Tamanho de saída do fluxo O mesmo que o número de texels em um buffer (ver precedente)
Desenhar ou Instância de Desenho contagem de vértices (incluindo instanciação) D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (2 )
DrawIndexed[Instanced]() contagem de vértices (incluindo instanciação) D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (2 )
Dados de saída de invocação GS (componentes * vértices) D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES (1024)
Número total de objetos amostradores por contexto D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE (4096)
Número total de objetos viewport/scissor por pipeline D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
Número total das distâncias de clip/corte por vértice D3D11_CLIP_OR_CULL_DISTANCE_COUNT (8)
Número total de objetos de mesclagem por contexto D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE (4096)
Número total de objetos de profundidade/estêncil por contexto D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE (4096)
Número total de objetos de estado do rasterizador por contexto D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE (4096)
Contagem máxima de amostras por pixel durante a amostragem múltipla D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT (32)
Quantidade de elementos de vértice de recurso de sombreamento (contendo quatro componentes de 32 bits) D3D11_STANDARD_VERTEX_ELEMENT_COUNT (32)
Núcleo comum de sombreadores (quatro componentes de 32 bits) contagem de registos temporários (r# + indexável x#[n]) D3D11_COMMONSHADER_TEMP_REGISTER_COUNT (4096)
Slots de buffer constante de núcleo de sombreador comum D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15) (+1 reservado para um buffer constante imediato em sombreadores)
Slots de recursos de entrada do núcleo comum do sombreador D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128)
Slots de amostrador do núcleo comum de sombreador D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT (16 - número de slots)
Limite de aninhamento de sub-rotina do núcleo de sombreador comum D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32)
Limite de aninhamento de controle de fluxo do núcleo do sombreador comum D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64)
Contagem dos registos de entrada do sombreador de vértice (componentes de quatro partes de 32 bits) D3D11_VS_INPUT_REGISTER_COUNT (32)
Número de registos de saída do vertex shader (quatro componentes de 32 bits) D3D11_VS_OUTPUT_REGISTER_COUNT (32)
Contagem de registro de entrada do sombreador de geometria (quatro componentes de 32 bits) D3D11_GS_INPUT_REGISTER_COUNT (32)
Contagem de registos de saída do sombreador de geometria (quatro componentes de 32 bits) D3D11_GS_OUTPUT_REGISTER_COUNT (32)
Contagem de registos de entrada do pixel shader (quatro componentes de 32 bits) D3D11_PS_INPUT_REGISTER_COUNT (32)
Ranhuras de saída do sombreador de píxeis 8
Contagem do registo de profundidade de saída do sombreador de píxeis (um componente de 32 bits) D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT (1)
Slots de entrada de recursos do montador de entrada de índices D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT (1)
Slots de recursos de entrada de vértice do montador de entrada D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (32)
Contagem de registro de entrada do ponto de controle do sombreador do casco (quatro componentes de 32 bits) D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT (32)
Número de pontos de controlo de entrada do sombreador de casca D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
Contagem de registro de saída do ponto de controle do sombreador do casco (quatro componentes de 32 bits) D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT (32)
Número de pontos de controlo de saída do sombreador de casco D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
Contagem constante de registro de saída constante do patch do sombreador do casco (quatro componentes de 32 bits) D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT (32)
Contagem de entrada e registro de ponto de controle de sombreador de domínio (quatro componentes de 32 bits) D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT (32)
Número do sombreador de domínio dos pontos de controle de entrada D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
Contagem constante de registro de entrada do patch do sombreador de domínio (quatro componentes de 32 bits) D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT (32)
Contagem de registos de saída de vértices tesselados do sombreador de domínio (quatro componentes de 32 bits) D3D11_DS_OUTPUT_REGISTER_COUNT (32)
Slots de exibição de acesso não ordenado (UAV) do sombreador de computação D3D11_PS_CS_UAV_REGISTER_COUNT (8)4
Tamanho do mosaico de recursos em bytes D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 )

Um aplicativo pode tentar alocar mais memória para um recurso do que o tamanho máximo do recurso especificado. Ou seja, o tempo de execução do Direct3D 11 permite essas tentativas de alocação de memória caso o hardware possa suportá-las. No entanto, o tempo de execução do Direct3D 11 garante apenas que as alocações dentro do tamanho máximo de recursos sejam suportadas por todos os nível de recurso hardware 11. Se um aplicativo tentar alocar memória para um recurso dentro do tamanho máximo do recurso, o tempo de execução falhará na tentativa somente se o sistema operacional ficar sem recursos. Se um aplicativo tentar alocar memória para um recurso acima do tamanho máximo do recurso, o tempo de execução poderá falhar na tentativa porque o sistema operacional está estendido demais ou o hardware não suporta alocações acima do tamanho máximo do recurso. A camada de depuração verifica apenas D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128) MB.

Os slots de saída do sombreador de pixel são compartilhados entre registradores de saída de pixel (quatro componentes de 32 bits) e UAVs.

O número total de componentes para todos os pontos de controlo do sombreador do casco para o sombreador de domínio está limitado a 3968, o que é 128 a menos do que o número máximo de pontos de controlo multiplicado pelo número máximo de registos de pontos de controlo, multiplicado por quatro componentes.

4Para perfis de sombreador de computação CS_4_0 e CS_4_1 há apenas 1 UAV disponível. Para obter mais informações sobre perfis de sombreador, consulte Shader Model 5.

Limites de recursos para hardware de nível de funcionalidade 9.x

Todos esses limites de nível de funcionalidade 9.x são definidos como constantes em D3dcommon.h.

Recurso Limite
Nível de funcionalidade 9_1 texture1D U dimension D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION (2048)
Nível de recurso 9_3 texture1D dimensão U D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION (4096)
Nível de recurso 9_1 texture2D dimensão U/V D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION (2048)
Nível de recurso 9_3 texture2D dimensão U/V D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION (4096)
Nível de funcionalidade 9_1 dimensão texture3D U/V/W D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (256)
Nível de recurso dimensão textureCube 9_1 D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION (512)
Nível de recurso textureCube dimensão 9_3 D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION (4096)
Nível de recurso 9_1 filtragem anisotrópica maxanisotropia padrão D3D_FL9_1_DEFAULT_MAX_ANISOTROPY (2)
Nível de recurso Primitivos do montador de entrada máximo 9_1 D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT (65535)
Nível de funcionalidade 9_2 com primitivos máximos do montador de entrada D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT (1048575)
Nível de funcionalidade 9_1 alvos de renderização simultâneos D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT (1)
Nível de funcionalidade 9_3 destinos simultâneos de renderização D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT (4)
Nível de recurso 9_1 repetição máxima de textura D3D_FL9_1_MAX_TEXTURE_REPEAT (128)
Nível de recurso 9_2 repetição máxima de textura D3D_FL9_2_MAX_TEXTURE_REPEAT (2048)
Nível de recurso máxima repetição de textura 9_3 D3D_FL9_3_MAX_TEXTURE_REPEAT (8192)

Recursos