Ressourcenlimits (Direct3D 11)

Dieses Thema enthält eine Liste der Ressourcen, die Direct3D 11 unterstützt (insbesondere Hardware der Featureebene 11 oder 9.x).

Ressourcenlimits für Hardware der Featureebene 11

Alle diese Ressourcengrenzwerte werden in D3d11.h als Konstanten definiert.

Resource Begrenzung
Anzahl der Elemente in einem konstanten Puffer D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
Anzahl der Texel (unabhängig von der Strukturgröße) in einem Puffer D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (2 7) texels
Textur1D U-Dimension D3D11_REQ_TEXTURE1D_U_DIMENSION (16384)
Textur1DArray-Dimension D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (2048 Array-Slices)
Texture2D U/V-Dimension D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384)
Texture2DArray-Dimension D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (2048 Array-Slices)
Texture3D U/V/W-Dimension D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048)
TextureCube-Dimension D3D11_REQ_TEXTURECUBE_DIMENSION (16384)
Ressourcengröße (in MB) für eine der vorherigen Ressourcen min(max(128,0.25f * (Menge des dedizierten VRAM)), 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)
Anisotrope Filterung Maxanisotropie D3D11_REQ_MAXANISOTROPY (16)
Ressourcendimension, die durch Filtern von Hardware adressierbar ist D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (16384) pro Dimension
Ressourcengröße (in MB) adressierbar durch IA (Eingabe- oder Vertexdaten) oder VS/GS/PS (Punktbeispiel) max(128,0,25f * (Anzahl des dedizierten VRAM)) MB
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128)
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0,25f)
Gesamtanzahl von Ressourcensichten pro Kontext (Jedes Array zählt als 1) (alle Ansichtstypen haben ein freigegebenes Limit) D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP (2 )
Pufferstrukturgröße (multielement) D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES (2048 Bytes)
Streamausgabegröße Identisch mit der Anzahl von Texels in einem Puffer (siehe oben)
Zeichnen oder ZeichnenInstanced Scheitelpunktanzahl (einschließlich Instancing) D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (2 )
DrawIndexed[Instanced]() Vertex count (einschließlich Instancing) D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (2 )
GS-Aufrufausgabedaten (Komponenten * Scheitelpunkte) D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES (1024)
Gesamtzahl der Samplerobjekte pro Kontext D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE (4096)
Gesamtanzahl der Viewport-/Scissor-Objekte pro Pipeline D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
Gesamtanzahl der Clip-/Cull-Abstände pro Scheitelpunkt D3D11_CLIP_OR_CULL_DISTANCE_COUNT (8)
Gesamtanzahl von Blendobjekten pro Kontext D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE (4096)
Gesamtanzahl von Tiefen-/Schablonenobjekten pro Kontext D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE (4096)
Gesamtanzahl der Rasterungszustandsobjekte pro Kontext D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE (4096)
Maximale Stichprobenanzahl pro Pixel beim Multisampling D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT (32)
Anzahl der Vertexelemente der Shaderressource (vier 32-Bit-Komponenten) D3D11_STANDARD_VERTEX_ELEMENT_COUNT (32)
Common-Shader Core (vier 32-Bit-Komponenten) temp-register count (r# + indexable x#[n]) D3D11_COMMONSHADER_TEMP_REGISTER_COUNT (4096)
Common-Shader Core-Konstantpufferslots D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15) (+1 für einen sofortigen Konstantenpuffer in Shadern eingestellt)
Common-Shader Core-Eingaberessourcenslots D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128)
Common-Shader Core-Sampler-Slots D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT (16)
Common-Shader Core-Unterroutine-Schachtelungslimit D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32)
Common-Shader Core Flow-Control-Schachtelungslimit D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64)
Anzahl der Vertex-Shadereingaben (vier 32-Bit-Komponenten) D3D11_VS_INPUT_REGISTER_COUNT (32)
Anzahl der Vertex-Shader-Ausgaberegister (vier 32-Bit-Komponenten) D3D11_VS_OUTPUT_REGISTER_COUNT (32)
Anzahl der Eingaberegister des Geometrie-Shaders (vier 32-Bit-Komponenten) D3D11_GS_INPUT_REGISTER_COUNT (32)
Anzahl der Geometrie-Shader-Ausgaberegister (vier 32-Bit-Komponenten) D3D11_GS_OUTPUT_REGISTER_COUNT (32)
Anzahl der Pixel-Shader-Eingaberegister (vier 32-Bit-Komponenten) D3D11_PS_INPUT_REGISTER_COUNT (32)
Pixel-Shaderausgabeslots 8
Pixel-Shader- Ausgabetiefe registeranzahl (eine 32-Bit-Komponente) D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT (1)
Eingaberessourcenslots für Den Eingabeassemierindex D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT (1)
Eingabeslots für Eingabe-Assembler-Vertex-Ressourcenslots D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (32)
Anzahl der Eingaberegisterwerte des Hull-Shadersteuerelementpunkts (vier 32-Bit-Komponenten) D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT (32)
Anzahl der Eingabesteuerungspunkte für den Hull-Shader D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
Anzahl der Ausgaberegisterwerte des Hull-Shader-Steuerpunkts (vier 32-Bit-Komponenten) D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT (32)
Hull-Shader anzahl der Ausgabesteuerungspunkte D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
Anzahl der Hüllenshader-Patchkonstanten für Ausgaberegister (vier 32-Bit-Komponenten) D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT (32)
Anzahl der Eingaberegisterwerte des Domänenshaderpunkts (vier 32-Bit-Komponenten) D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT (32)
Domänen-Shader: Anzahl der Eingabesteuerungspunkte D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
Anzahl der Eingaberegisterkonstanten des Domänenshaders (vier 32-Bit-Komponenten) D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT (32)
Domänenshader tessellierte Vertexausgabe-Registeranzahl (vier 32-Bit-Komponenten) D3D11_DS_OUTPUT_REGISTER_COUNT (32)
Slots für ungeordnete Zugriffsansicht (UAV) für Compute-Shader D3D11_PS_CS_UAV_REGISTER_COUNT (8)4
Größe der Ressourcenkachel in Bytes D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 )

Eine App kann versuchen, mehr Arbeitsspeicher für eine Ressource zuzuweisen, als die maximale Ressourcengröße angibt. Das heißt, die Direct3D 11-Runtime lässt diese Speicherbelegungsversuche zu, falls die Hardware sie möglicherweise unterstützt. Die Direct3D 11-Runtime garantiert jedoch nur, dass Zuordnungen innerhalb der maximalen Ressourcengröße von allen Hardware der Featureebene 11 unterstützt werden. Wenn eine App versucht, Arbeitsspeicher für eine Ressource innerhalb der maximalen Ressourcengröße zuzuweisen, schlägt die Laufzeit den Versuch nur fehl, wenn dem Betriebssystem keine Ressourcen mehr zur Verfügung sind. Wenn eine App versucht, Arbeitsspeicher für eine Ressource zuzuweisen, die über der maximalen Ressourcengröße liegt, kann der Versuch der Laufzeit fehlschlagen, da entweder das Betriebssystem überlastet ist oder die Hardware keine Zuordnungen über der maximalen Ressourcengröße unterstützt. Die Debugebene überprüft nur D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128) MB.

Die Pixelshader-Ausgabeslots werden zwischen Pixelausgaberegistern (vier 32-Bit-Komponenten) und UAVs gemeinsam genutzt.

Die Gesamtanzahl der Komponenten für alle Rumpf-Shader- bis Domänen-Shader-Kontrollpunkte ist auf 3968 beschränkt, was 128 weniger als die maximalen Kontrollpunkte ist, wenn der maximale Kontrollpunkt mal vier Komponenten registriert.

4Für Computeshaderprofile CS_4_0 und CS_4_1 ist nur ein UAV verfügbar. Weitere Informationen zu Shaderprofilen finden Sie unter Shadermodell 5.

Ressourcenlimits für Hardware auf Featureebene 9.x

Alle diese Ressourcenlimits auf 9.x-Featureebene sind in D3dcommon.h als Konstanten definiert.

Resource Begrenzung
Dimension der Featureebene 9_1 texture1D U D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION (2048)
Dimension der Featureebene 9_3 texture1D U D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION (4096)
Featureebene 9_1 texture2D U/V Dimension D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION (2048)
Featureebene 9_3 texture2D U/V Dimension D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION (4096)
Featureebene 9_1 texture3D U/V/W-Dimension D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (256)
TexturCube-Dimension der Featureebene 9_1 D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION (512)
TexturCube-Dimension der Featureebene 9_3 D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION (4096)
Featureebene 9_1 anisotrope Filterung Maxanisotropie Standard D3D_FL9_1_DEFAULT_MAX_ANISOTROPY (2)
Maximale Eingabe-Assembler-Grundtypen auf Featureebene 9_1 D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT (65535)
Featureebene 9_2 maximale Eingabeasserprimiertypen D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT (1048575)
Gleichzeitige Renderziele auf Featureebene 9_1 D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT (1)
Gleichzeitige Renderziele auf Featureebene 9_3 D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT (4)
Maximale Texturwiederholung auf Featureebene 9_1 D3D_FL9_1_MAX_TEXTURE_REPEAT (128)
Maximale Texturwiederholung auf Featureebene 9_2 D3D_FL9_2_MAX_TEXTURE_REPEAT (2048)
Maximale Texturwiederholung auf Featureebene 9_3 D3D_FL9_3_MAX_TEXTURE_REPEAT (8192)

Ressourcen