Operações disponíveis em pools de blocos
Esta seção lista as operações que você pode executar em pools de blocos.
- O tempo de vida dos pools de blocos funciona como qualquer outro Recurso Direct3D, apoiado pela contagem de referências, incluindo, neste caso, o acompanhamento de mapeamentos de recursos lado a lado. Quando o app não faz referência a um pool de blocos e todos os mapeamentos de blocos na memória são apagados e os acessos à unidade de processamento gráfico (GPU) são concluídos, o sistema operacional desalocará o pool de blocos.
- APIs relacionadas ao compartilhamento de superfície e ao trabalho de sincronização para pools de blocos (mas não diretamente em recursos lado a lado). Semelhante ao comportamento dos pools de blocos oferecidos, os comandos Direct3D que acessam recursos lado a lado que apontam para um pool de blocos serão descartados se o pool de blocos tiver sido compartilhado e atualmente for adquirido por outro dispositivo e processo.
- Operação ID3D11DeviceContext2::ResizeTilePool
- Operações IDXGIDevice2::OfferResources e ReclaimResources – essas APIs para gerar memória temporariamente para o sistema operam em todo o pool de blocos (e não estão disponíveis para recursos individuais lado a lado). Se um recurso lado a lado apontar para um bloco em um pool de blocos oferecido, o recurso lado a lado se comportará como se fosse oferecido (por exemplo, o runtime descarta comandos que fazem referência a ele).
Os dados não podem ser copiados de e para a memória diretamente do pool de blocos. Os acessos à memória são sempre feitos por meio de recursos lado a lado.
Tópicos relacionados