Limiti delle risorse (Direct3D 11)
Questo argomento contiene un elenco di risorse supportate da Direct3D 11 (in particolare il livello di funzionalità 11 o l'hardware 9.x).
- Limiti delle risorse per l'hardware del livello di funzionalità 11
- Limiti delle risorse per l'hardware a livello di funzionalità 9.x
- Argomenti correlati
Limiti delle risorse per l'hardware del livello di funzionalità 11
Tutti questi limiti delle risorse sono definiti come costanti in D3d11.h.
Risorsa | Limite |
---|---|
Numero di elementi in un buffer costante | D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096) |
Numero di texel (indipendentemente dalla dimensione dello struct) in un buffer | texel D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (2 7) |
Dimensione Texture1D U | D3D11_REQ_TEXTURE1D_U_DIMENSION (16384) |
Dimensione Texture1DArray | D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (sezioni di matrice 2048) |
Dimensione Texture2D U/V | D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384) |
Dimensione Texture2DArray | D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (sezioni di matrice 2048) |
Dimensione Texture3D U/V/W | D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048) |
Dimensione TextureCube | D3D11_REQ_TEXTURECUBE_DIMENSION (16384) |
Dimensioni delle risorse (in MB) per una delle risorse precedenti | min(max(128,0,25f * (quantità di VRAM dedicato)), 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) |
Filtro anisotropico maxanisotropy | D3D11_REQ_MAXANISOTROPY (16) |
Dimensione delle risorse indirizzabile filtrando l'hardware | D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (16384) per dimensione |
Dimensioni delle risorse (in MB) indirizzabili da IA (dati di input o vertici) o VS/GS/PS (esempio di punto) | max(128,0,25f * (quantità di VRAM dedicato)) MB D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128) D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0,25f) |
Numero totale di visualizzazioni risorse per contesto (ogni matrice conta come 1) (tutti i tipi di visualizzazione hanno un limite condiviso) | D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP (2 ) |
Dimensioni della struttura del buffer (multielemento) | D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES (2048 byte) |
Dimensioni dell'output del flusso | Uguale al numero di texel in un buffer (vedere precedente) |
Disegno o conteggio dei vertici DrawInstanced (inclusa la creazione di istanze) | D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (2 ) |
DrawIndexed[Instanced]() vertex count (incluso l'instancing) | D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (2 ) |
Dati di output della chiamata GS (componenti * vertici) | D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES (1024) |
Numero totale di oggetti sampler per contesto | D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE (4096) |
Numero totale di oggetti viewport/scissor per pipeline | D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16) |
Numero totale di distanze clip/cull per vertice | D3D11_CLIP_OR_CULL_DISTANCE_COUNT (8) |
Numero totale di oggetti blend per contesto | D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE (4096) |
Numero totale di oggetti depth/stencil per contesto | D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE (4096) |
Numero totale di oggetti di stato rasterizzatore per contesto | D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE (4096) |
Numero massimo di campioni per pixel durante il multicampionamento | D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT (32) |
Conteggio dei vertici delle risorse shader (quattro componenti a 32 bit) | D3D11_STANDARD_VERTEX_ELEMENT_COUNT (32) |
Core common-shader (quattro componenti a 32 bit) conteggio dei registri temporanei (r# + indicizzato x#[n]) | D3D11_COMMONSHADER_TEMP_REGISTER_COUNT (4096) |
Slot del buffer costante core common-shader | D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15) (+1 messo da parte per un buffer costante immediato negli shader) |
Slot di input-risorsa di base common-shader | D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128) |
Slot di esempio di base common-shader | D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT (16) |
Limite di annidamento della subroutine core common-shader | D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32) |
Limite di annidamento di core flow-control common-shader | D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64) |
Conteggio dei registri di input del vertex shader (quattro componenti a 32 bit) | D3D11_VS_INPUT_REGISTER_COUNT (32) |
Conteggio dei registri di output del vertex shader (quattro componenti a 32 bit) | D3D11_VS_OUTPUT_REGISTER_COUNT (32) |
Conteggio dei registri di input dello shader geometry (quattro componenti a 32 bit) | D3D11_GS_INPUT_REGISTER_COUNT (32) |
Conteggio dei registri di output dello shader geometry (quattro componenti a 32 bit) | D3D11_GS_OUTPUT_REGISTER_COUNT (32) |
Numero di registri di input dello shader pixel (quattro componenti a 32 bit) | D3D11_PS_INPUT_REGISTER_COUNT (32) |
Slot di output del pixel shader | 8 |
Pixel shader output depth register count (un componente a 32 bit) | D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT (1) |
Slot di input per l'indice dell'indice dell'assembler | D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT (1) |
Slot di risorse dei vertici dell'assembler di input | D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (32) |
Hull shader control point input-register count (quattro componenti a 32 bit) | D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT (32) |
Numero di punti di controllo di input di Hull shader | D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32) |
Conteggio del registro di output del punto di controllo dello shader di Hull (quattro componenti a 32 bit) | D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT (32) |
Numero di punti di controllo di output dello shader | D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32) |
Conteggio dei registri di output costante delle patch di Hull shader (quattro componenti a 32 bit) | D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT (32) |
Conteggio del punto di controllo shader di dominio (quattro componenti a 32 bit) | D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT (32) |
Numero di punti di controllo di input del dominio | D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32) |
Numero costante di registrazione dell'input-register della patch di dominio shader (quattro componenti a 32 bit) | D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT (32) |
Conteggio dei registri di output del vertex tessellato del dominio shader (quattro componenti a 32 bit) | D3D11_DS_OUTPUT_REGISTER_COUNT (32) |
Slot UAV (Compute shader non ordinati) | D3D11_PS_CS_UAV_REGISTER_COUNT (8)4 |
Dimensioni dei riquadri delle risorse in byte | D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 ) |
Un'app può provare a allocare più memoria per una risorsa rispetto alle dimensioni massime delle risorse specificate. Ovvero, il runtime Direct3D 11 consente questi tentativi di allocazione di memoria nel caso in cui l'hardware possa supportarli. Tuttavia, il runtime Direct3D 11 garantisce solo che le allocazioni all'interno delle dimensioni massime delle risorse siano supportate da tutti gli hardware a livello di funzionalità 11. Se un'app tenta di allocare memoria per una risorsa entro le dimensioni massime della risorsa, il runtime ha esito negativo solo se il sistema operativo esce dalle risorse. Se un'app tenta di allocare memoria per una risorsa superiore alla dimensione massima della risorsa, il runtime può non riuscire il tentativo perché il sistema operativo è sovraesteso o l'hardware non supporta le allocazioni sopra le dimensioni massime della risorsa. Il livello di debug controlla solo D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128 MB).
Gli slot di output pixel shader sono condivisi tra i registri di output pixel (quattro componenti a 32 bit) e le unità UAV.
Il numero totale di componenti per tutti gli hull shader a punti di controllo di domain shader è limitato a 3968, ovvero 128 meno dei punti di controllo massimo registra quattro componenti.
4For compute shader profile CS_4_0 e CS_4_1 è disponibile solo 1 UAV. Per altre informazioni sui profili shader, vedere Shader Model 5.
Limiti delle risorse per il livello di funzionalità 9.x hardware
Tutti questi limiti delle risorse a livello di funzionalità 9.x sono definiti come costanti in D3dcommon.h.
Risorsa | Limite |
---|---|
Dimensione 9_1 texture1D | D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION (2048) |
Dimensione 9_3 trama 9_3D | D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION (4096) |
Dimensione di livello di funzionalità 9_1 texture2D U/V | D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION (2048) |
Dimensione di livello di funzionalità 9_3 texture2D U/V | D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION (4096) |
Livello di funzionalità 9_1 trama3D U/V/W dimensione | D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (256) |
Dimensione textureCube a livello di funzionalità 9_1 | D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION (512) |
Dimensione del livello di funzionalità 9_3 textureCube | D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION (4096) |
Livello di funzionalità 9_1 filtro anisotropo predefinito maxanisotropy | D3D_FL9_1_DEFAULT_MAX_ANISOTROPY (2) |
Primitive di assembler di input massimo a livello di funzionalità 9_1 | D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT (65535) |
Primitive dell'assembler di input massimo a livello di funzionalità 9_2 | D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT (1048575) |
Destinazioni di rendering simultanee a livello di funzionalità 9_1 | D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT (1) |
Destinazioni di rendering simultanee a livello di funzionalità 9_3 | D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT (4) |
Ripetizione massima del livello di funzionalità 9_1 | D3D_FL9_1_MAX_TEXTURE_REPEAT (128) |
Ripetizione massima del livello di funzionalità 9_2 | D3D_FL9_2_MAX_TEXTURE_REPEAT (2048) |
Ripetizione massima del livello di funzionalità 9_3 | D3D_FL9_3_MAX_TEXTURE_REPEAT (8192) |