Compartilhar via


Interface ID3DUserDefinedAnnotation (d3d11_1.h)

A interface ID3DUserDefinedAnnotation permite que um aplicativo descreva seções conceituais e marcadores dentro do fluxo de código do aplicativo. Uma ferramenta habilitada adequadamente, como Microsoft Visual Studio Ultimate 2012, pode exibir essas seções e marcadores visualmente ao longo da linha de tempo do Microsoft Direct3D da ferramenta, enquanto a ferramenta depura o aplicativo. Essas notas visuais permitem que os usuários dessa ferramenta naveguem até partes da linha do tempo que são de interesse ou entendam qual conjunto de chamadas Direct3D são produzidas por determinadas seções do código do aplicativo.

Herança

A interface ID3DUserDefinedAnnotation herda da interface IUnknown . ID3DUserDefinedAnnotation também tem estes tipos de membros:

Métodos

A interface ID3DUserDefinedAnnotation tem esses métodos.

 
ID3DUserDefinedAnnotation::BeginEvent

Marca o início de uma seção do código de evento.
ID3DUserDefinedAnnotation::EndEvent

Marca o final de uma seção do código de evento.
ID3DUserDefinedAnnotation::GetStatus

Determina se o aplicativo de chamada está em execução em uma ferramenta de criação de perfil do Microsoft Direct3D.
ID3DUserDefinedAnnotation::SetMarker

Marca um único ponto de execução no código.

Comentários

Os métodos de ID3DUserDefinedAnnotation não têm efeito quando o aplicativo de chamada não está em execução em uma ferramenta de criação de perfil específica do Direct3D, como Visual Studio Ultimate 2012.

A interface ID3DUserDefinedAnnotation é publicada pelos contextos de dispositivo do Microsoft Direct3D 11. Portanto, ID3DUserDefinedAnnotation tem as mesmas regras de threading que a interface ID3D11DeviceContext ou qualquer outra interface de contexto. Para obter mais informações sobre o threading do Direct3D, consulte MultiThreading. Para recuperar a interface ID3DUserDefinedAnnotation para o contexto, chame o método QueryInterface para o contexto (por exemplo, ID3D11DeviceContext::QueryInterface). Nesta chamada, você deve passar o identificador de ID3DUserDefinedAnnotation.

A interface ID3DUserDefinedAnnotation é o Microsoft Direct3D 10 e posterior equivalente às funções PIX do Direct3D 9 (funções D3DPERF_*).

Nota Definir o sinalizador de D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY em seu aplicativo substitui a chamada D3DPerf_SetOptions(1). Mas, para impedir que as ferramentas de depuração do Direct3D conectem seu aplicativo, seu aplicativo também pode chamar ID3DUserDefinedAnnotation::GetStatus para determinar se ele está em execução em uma ferramenta de depuração direct3D e, em seguida, sair adequadamente.
 
Você deve chamar os métodos BeginEvent e EndEvent em pares; pares de chamadas para esses métodos podem aninhar em pares de chamadas para esses métodos em um nível mais alto na pilha de chamadas do aplicativo. Em outras palavras, uma seção "Desenhar Mundo" pode conter inteiramente outra seção chamada "Desenhar Árvores", que por sua vez pode conter inteiramente uma seção chamada "Draw Oaks". Você só pode associar um método EndEvent ao método BeginEvent mais recente, ou seja, os pares não podem se sobrepor. Você não pode chamar um EndEvent para qualquer BeginEvent que precedeu o BeginEvent mais recente. Na verdade, o runtime interpreta o primeiro EndEvent como terminando o segundo BeginEvent.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 e Atualização de Plataforma para Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2012 e Atualização de Plataforma para Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho d3d11_1.h

Confira também

Interfaces de versão comuns

IUnknown