D3D12DDI_BACKGROUND_PROCESSING_MODE_0062 enumeração (d3d12umddi.h)
Indica qual nível de criação de perfil dinâmica e recompilação de sombreador está habilitado para processamento em segundo plano.
Por padrão, o runtime agendará no máximo uma tarefa de compilação em segundo plano por vez, executando com prioridade ociosa para minimizar o risco desse trabalho, introduzindo falhas na renderização em primeiro plano.
Desenvolvedores e ferramentas de criação de perfil podem ajustar esse comportamento usando combinações desses valores de enumeração.
Syntax
typedef enum D3D12DDI_BACKGROUND_PROCESSING_MODE_0062 {
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED,
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS,
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK,
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_ALL_PROFILING
} ;
Constantes
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED é o estado padrão, no qual os drivers podem instrumentar cargas de trabalho de qualquer maneira de sua escolha e podem enviar tarefas de CPU (normalmente recompilações de PSO) para o runtime D3D para execução de baixa prioridade. O objetivo desse modo é habilitar otimizações dinâmicas, mas sem afetar o desempenho de renderização em primeiro plano. |
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS dicas de que o driver deve priorizar a riqueza e a integridade da instrumentação em vez de evitar falhas, pois a renderização que está ocorrendo no momento está sendo feita especificamente para fins de treinamento e não precisa ser executada com desempenho normal e suave. Esse tipo de criação de perfil pesada será usado por ferramentas de análise, como o PIX. Ele também pode ser usado por parâmetros de comparação para aquecer o estado de otimização antes de fazer suas medidas reais de desempenho ou diretamente por jogos em momentos apropriados (por exemplo, pré-treinar o driver renderizando conteúdo invisível por trás de um menu). |
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK impede a execução de tarefas de processamento em segundo plano. Quando esse sinalizador for ativado pela primeira vez, todas as tarefas já em andamento poderão ser executadas até a conclusão. As tarefas que a UMD enviou, mas que ainda não iniciaram a execução, serão canceladas e todas as chamadas para QueueProcessingWorkCB enquanto já estiverem nesse estado resultarão na invocação imediata do retorno de chamada de cancelamento. É claro que o UMD pode optar por ignorar totalmente o envio de tarefas enquanto estiver no estado desabilitado, mas se ele enviar o trabalho, o runtime será cancelado em vez de apenas falhar na operação de envio, a fim de evitar que o UMD tenha que se preocupar em sincronizar entre o envio de trabalho e as alterações de modo. Se o sinalizador de desabilitar estiver ativado ao mesmo tempo que especificar D3D12DDI_MEASUREMENTS_ACTION_0062_COMMIT_*, todas as novas tarefas geradas pelo UMD em resposta à solicitação de confirmação poderão ser executadas antes que a desabilitação entre em vigor. O sinalizador de desabilitação só é válido quando o modo de desenvolvedor está habilitado. |
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_ALL_PROFILING Além de suspender a recompilação do sombreador dinâmico, isso indica que o driver deve evitar fazer alterações comportamentais que perturbem o desempenho, como ajustar dinamicamente políticas de cache ou padrões de expedição de computação. Isso é para uso durante as sessões de criação de perfil, em que uma comparação A/B deve fornecer resultados de tempo estáveis. Esse sinalizador só é válido quando o modo de desenvolvedor está habilitado. |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10, versão 1903 |
Cabeçalho | d3d12umddi.h |