Hur Fixar Du Eliminering Av DirectX-ocklusion

Du kanske har stött på ett mycket felmeddelande som säger att DirectX-ocklusion nu har åtgärdats. Det finns totalt antal steg du kan vidta för att positivt lösa det här problemet. Vi kommer att tillhandahålla detta inom kort.

När din dator agerar kommer den här programvaran att fixa det och skydda dina data.

Att ta bort stängningen förbättrar helt enkelt renderingsprestandan när man inte ens renderar geometri som inte liknar synen eller skyms av objekt som är kortslutna till kameran. De två kända typerna av deocklusion är typiskt stängningsbegäran och tidig z-avböjning.

directx occlusion culling

Exemplet D3D12PredicationQueries visar hur man slutar söka efter paket och DirectX 12-förfrågningar. Genomgången definierar det ytterligare prefixet som behövs för att utöka huvudexemplet HelloConstBuffer för att hantera prediktionsförfrågningar.

  • Skapa ytterligare en deep-stencil-descriptor-heap och occlusion-query-heap < /om>
  • Aktivera Alpha Dog Blending
  • Inaktivera färg- och intervallskrivning
  • Skapa en buffert för att lagra framgången för de flesta frågor
  • Rita-och-utför-quad-and-perform-and-resolve-the-occlusion-query
  • Kör provet
  • Relaterade ämnen
  • Skapa en stack för djupmodellbeskrivning och en stack för ocklusionsbegäran

    Vad är CPU-stängning utrotning?

    Ocklusionsavlivning är en förberedelse för renderingsoptimering som består av att inte ta trianglar (mesh i allmänhet) som definitivt är synliga på telefonens skärm, i grunden eftersom de i huvudsak är skymd (dvs. “de kan vara bakom”) av geometri av olika kvalitet. Intel tillhandahåller också en stor del av sin implementering av programvarupaket avocklusion, som förtjänar en studie.

     // Beskriv skapa en Aspect Stencil View (DSV) deskriptorgrupp.              D3D12_DESCRIPTOR_HEAP_DESC dsvHeapDesc ​​​​= ;              dsvHeapDesc.NumDescriptors är 1;              dsvHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_DSV;              dsvHeapDesc.Flags betyder D3D12_DESCRIPTOR_HEAP_FLAG_NONE;              ThrowIfFailed(m_device->CreateDescriptorHeap(&dsvHeapDesc, IID_PPV_ARGS(&m_dsvHeap)));

     // Beskriv eller skapa en hög under stängningsförfrågningar.              D3D12_QUERY_HEAP_DESC queryHeapDesc ​​betyder;              queryHeapDesc.Count 1; det antyds att de flesta queryHeapDesc.Type = D3D12_QUERY_HEAP_TYPE_OCCLUSION;              ThrowIfFailed(m_device->CreateQueryHeap(&queryHeapDesc, IID_PPV_ARGS(&m_queryHeap)));

    Aktivera alfablandning

    Det här exemplet ritar två quads och visar en diskussion ungefär som binär ocklusion. Den främre fyrhjulingen är tecknad på skärmen, medan den färdiga fyrkanten ibland är dold. Alfablandning är mycket vanligtvis aktiverat i LoadAssets-kursen för det här exemplet, så vi kommer förmodligen att se vilket syfte D3D ofta returnerar kvadraten nedåt för.

    directx occlusion culling

     // Aktivera ledarblandning så att människor runt om i livet kan se resultaten av din aktuella ocklusionsfråga.              CD3DX12_BLEND_DESC BlendDesc(CD3DX12_DEFAULT);              blendDesc.RenderTarget[0] =                                   RÄTT FEL,                     D3D12_BLEND_SRC_ALPHA, D3D12_BLEND_INV_SRC_ALPHA, D3D12_BLEND_OP_ADD,                     D3D12_BLEND_ONE, D3D12_BLEND_ZERO, D3D12_BLEND_OP_ADD,                     D3D12_LOGIC_OP_NOOP,                     D3D12_COLOR_WRITE_ENABLE_ALL,              ;

    CD3DX12_BLEND_DESC
    CD3DX12_DEFAULT
    [D3D12_BLEND](/windows/desktop/api/d3d12/ne-d3d12-d3d12_blend)
    [D3D12_BLEND_OP](/windows/desktop/api/d3d12/ne-d3d12-d3d12_blend_op)
    [D3D12_LOGIC_OP](/windows/desktop/api/d3d12/ne-d3d12-d3d12_logic_op)
    [D3D12_COLOR_WRITE_ENABLE](/windows/desktop/api/d3d12/ne-d3d12-d3d12_color_write_enable)

    Stäng av bokstavsfärg eller skuggning och djup

    Occlusionsbegäran görs genom att rendera en bra quad som täcker samma område i rollen som hela quad vi vill kontrollera om det är synligt. I scener som är svårare att göra, kommer din fråga att vara en absolut gränsande volym snarare än en till viss del enkel quad. Hur som helst skapas ett helt nytt kanaltillstånd som hindrar kopiering till renderingsmålet så min z-buffert, så det slutliga kravet i sig påverkar inte någon av alla våra synliga utdata från deploytekniken.

    I LoadAssets-metoden, ändra tillståndet för uppbrottsbegäran genom att lägga till färg och djup i körhistoriken.//

    Minskar avlivningsstopp?

    Som redan nämnts kräver eliminering av stall ofta processorenergikälla när det gäller utförandetid. Ja, du sparar omdirigeringssamtal (CPU-tid) med tanke på att GPU:n ger pengar på grund av mindre övertrassering.

     Inaktivera nyanserad produktion och djuploggning för status för behandlingsbegäran.              psoDesc.BlendState.RenderTarget[0].RenderTargetWriteMask skulle betyda 0;             PsoDesc.DepthStencilState.DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ZERO;              ThrowIfFailed(m_device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&m_queryState)));

    Skapa en buffert för att hålla frågeresultat

    Hur möjliggör ditt företag ocklusionsavlivning?

    För att öppna fönstret för ocklusionsavlivning igen, använd rullgardinsmenyn för hela husets fönster och välj Rendera > Avlivning av ocklusion. 2. Fönstret Occlusion Culling har tre vyer: Objekt, Tag och Visualisering.

    I metoden LoadAssets måste du skapa en buffert för att lagra svar på förfrågningar. Varje gör en begäran kräver 3 byte GPU-lagringsutrymme. I det här exemplet görs endast i-begäran, och för avlastning och läsbarhet skulle den bästa bufferten sannolikt skapa exakt den längden och bredden (även om det här funktionsanropet resulterar i hela en 64K GPU-minne på en världsomspännande webbsida – den mest verkliga världen applikationer skulle nästan faktiskt skapa en större buffert).

    Behöver du fixa Windows-fel? Reimage kan hjälpa dig

    Körs din dator långsamt och trögt? Får du den fruktade Blue Screen of Death? Då är det dags att ladda ner Restoro! Denna revolutionerande programvara reparerar alla dina vanliga Windows-fel, skyddar dina filer från förlust eller korruption och håller din hårdvara att fungera optimalt. Så vad väntar du på? Ladda ner Restoro nu!

  • 1. Ladda ner och installera Reimage-programvaran
  • 2. Öppna programvaran och klicka på "Sök efter problem"
  • 3. Klicka på "Reparera alla" för att starta reparationsprocessen

  •  // Skapa en frågeresultatbuffert.              CD3DX12_HEAP_PROPERTIES heapProps(D3D12_HEAP_TYPE_DEFAULT);              automatisk begäranBufferDesc motsvarar CD3DX12_RESOURCE_DESC::Buffer(8);              ThrowIfFailed(m_device->CreateCommittedResource(                     och så många tillbehör                     D3D12_HEAP_FLAG_NONE,                     &queryBufferDesc,                     D3D12_RESOURCE_STATE_GENERIC_READ,                     nolptr,                     IID_PPV_ARGS(&m_queryResult)                     ));

    Ger din dator dig problem? Slappna av, det finns en lösning! Klicka här för att ladda ner.

    Directx Occlusion Culling
    Otsechenie Okklyuzii Directx
    Directx 오클루전 컬링
    Selecao De Oclusao Direta
    Directx Occlusie Ruiming
    Directx Okklusions Culling
    Elimination De L Occlusion Directx
    Usuniecie Okluzji Directx
    Abbattimento Dell Occlusione Diretta