Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Att låsa en resurs innebär att ge CPU-åtkomst till dess lagring. Följande låsningsalternativ definieras för resurser:
- D3DLOCK_DISCARD
- D3DLOCK_READONLY
- D3DLOCK_NOOVERWRITE
- D3DLOCK_NOSYSLOCK
- D3DLOCK_NO_DIRTY_UPDATE
Mer information om hur du låser flaggor och hur de relaterar till specifika resurser finns på referenssidorna för de enskilda resurslåsningsmetoderna. Programutvecklare bör observera att flaggorna D3DLOCK_DISCARD, D3DLOCK_READONLY och D3DLOCK_NOOVERWRITE bara är tips. Körningstiden kontrollerar inte att programmen följer de funktioner som anges av dessa flaggor. Ett program som anger D3DLOCK_READONLY men sedan skriver till resursen bör förvänta sig odefinierade resultat. I allmänhet har det ingen garanti att det fungerar att arbeta mot låsningsflaggor, inklusive användningsflaggor för låsning, i framtida versioner, och det kan medföra en betydande prestandaförlust.
En låsåtgärd följs av en upplåsningsåtgärd. Till exempel, efter att ha låst en textur, avstår programmet från direkt åtkomst till de låsta texturerna genom att låsa upp dem. Förutom att ge processoråtkomst serialiseras alla andra åtgärder som rör resursen under låsets varaktighet. Endast ett enda lås för en resurs tillåts, även för regioner som inte överlappar, och inga accelerationsoperationer på en yta kan utföras medan en låsoperation pågår på den ytan.
Varje resursgränssnitt har metoder för att låsa de inneslutna buffertarna. Varje strukturresurs kan också låsa en del av resursen. 2D-resurser (ytor) tillåter låsning av underrektanglar, och volymresurser tillåter låsning av undervolymer eller rutor. Varje låsmetod returnerar en struktur som innehåller en pekare till lagringen som stöder resursen och värden som representerar avståndet mellan rader eller plan med data, beroende på resurstyp. Mer information finns i metodlistorna för resursgränssnitten. Den returnerade pekaren pekar alltid på det övre vänstra bytet i de låsta underregionerna.
När du arbetar med index- och hörnbuffertar kan du göra flera låsanrop. Du måste dock se till att antalet låsanrop matchar antalet upplåsningsanrop.
DXTn lagrar pixlar i kodade 4x4-block och kan bara låsas in på 4x4-gränser.
Relaterade ämnen