Nos últimos anos, alguns de nossos leitores encontraram um bug rotulado no Directx 9 Profiler. Normalmente, há uma série de fatores que podem causar o problema anterior. Vamos discutir isso agora.
Aprovado: Fortect
- 47 alguns momentos para ler.
- Perfis precisos são difíceis para Direct3D
- Como a sequência de exibição Direct3D cria um perfil preciso
- Criação de perfil de alterações de estado do Direct3D
- Resumo
- Aplicativo
(API) chamadas. Se você fez isso, mas gostou dos resultados recebidos que diferem da sequência de renderização para realmente renderizar a seqüência, ou se você suspeita que a tentativa não corresponderá às soluções experimentais reais, o resultado das informações pode ajudá-lo a entender o porquê.
As informações fornecidas aqui baseiam-se inteiramente na suposição de que você tem conhecimento e experiência nas seguintes partes de:
- Programação C / C ++
- Programação de API Direct3D
- API de medição de tempo
- Placa de vídeo e, em seguida, software de driver.
- Possíveis resultados inexplicáveis fora da experiência de criação de perfil.
A criação de perfis Direct3D precisa é difícil
O criador de perfil relata a maior parte do tempo gasto em cada chamada de API. Em última análise, isso, por sua vez, deve melhorar o desempenho, detectando e removendo pontos quentes. Existem vários tipos possíveis de criação de perfil e até métodos de criação de perfil.
- O Selective Profiler não faz nada na maioria das vezes e é executado em intervalos constantes para obter uma amostra (ou registrar positivamente) o que tudo faz. Mostra a porcentagem de tempo de contribuição em aproximadamente todas as ligações. Em geral, a amostragem após um criador de perfil é certamente muito invasiva para qualquer tipo de aplicativo e tem impacto mínimo no aplicativo abrangente.
- O gerador de perfis de ferramenta mede o verdadeiro evento necessário para completar uma chamada. Isso requer o banco de dados dos delimitadores de início e parada no aplicativo. O Toolkit é literalmente um criador de perfil, que é comparativamente mais tratamento cirúrgico para a aplicação do que um gerador de perfil de amostra.
- Você também pode usar um truque de criação de perfil personalizado com um cronômetro de alto desempenho significativo. Este efeito é muito semelhante ao de um criador de perfil de chave.
O tipo fora de seu criador de perfil ou método de criação de perfil usado é simplesmente esta função de tarefa que gera certas métricas.
A criação de perfis fornece respostas para ajudá-lo a definir o orçamento de acordo com o trabalho de seus clientes. Por exemplo, suponha que você esteja familiarizado com o fato de que leva, em média, mil ciclos de clock de saída para fazer uma chamada de API. Você pode exigir algum nível de inferência de desempenho, por exemplo:
- Há uma limitação em um processador de 2 GHz adequado (que gasta 50 por cento em seu tempo de renderização) que pode chamar essa API 1 milhão de vezes por segundo.
- Para colocar 30 quadros por segundo, você não pode chamar essa API várias vezes para obter 33.000 vezes por quadro de janela.
- Você pode manter no máximo 3.3000 objetos por (assumindo que o quadro 10 deste tipo de API invoca a sequência de exibição para qualquer um dos objetos).
Em outras palavras, se você tem modelos suficientes para chamar a API, pode fazer uma pergunta sobre o orçamento para parâmetros como basicamente o número de primitivos que podem ser oferecidos interativamente. Mas os números brutos retornados por cada um de nosso incrível gerador de perfis de ferramentas não podem responder com precisão às perguntas relativas ao gerenciamento de custos. Isso ocorre porque a opção gráfica tem problemas de design complexos, como a variedade de componentes que precisam ser executados, o número de processadores que dominam o fluxo de trabalho entre os mecanismos e, além das estratégias de otimização implementadas usando o piloto em tempo de execução e, portanto, podem ajudam a tornar o pipeline mais eficiente no momento do projeto.
Cada API chama por meio de vários componentes
Cada chamada deve vir de vários componentes como resultado do aplicativo da placa gráfica. Por exemplo, vamos investigar a seguinte sequência de renderização, que incorpora duas chamadas para desenhar um triângulo:
textura de contorno (...);DrawPrimitive (D3DPT_TRIANGLELIST, 0, 1);
O diagrama de conceito a seguir mostra as várias coisas humanas pelas quais as chamadas sempre devem passar.
O aplicativo chama What Direct3d, manipula a paisagem humana, lida com a interação do usuário e aprende como a renderização pode ser realizada. Todo esse trabalho é especificado na sequência de renderização, que os especialistas dizem que é enviada em tempo de execução usando chamadas de API Direct3D. A sequência de aconselhamento é apenas independente do hardware (ou seja, as chamadas de API do telefone celular são independentes do hardware, mas muitas vezes conhecem os recursos suportados pela placa de vídeo principal).
O tempo de execução converte essas chamadas em todos os formatos independentes de dispositivo. O tempo de execução lida com todas essas interações especiais entre o aplicativo e este driver, de forma que o aplicativo será executado em vários aprimoramentos domésticos compatíveis (dependendo de quais recursos exigemXia). Quando uma fabulosa chamada de função única é medida, o criador de perfil de instrumentação mantém um registro de quanto tempo ela esgotou no trabalho e por quanto tempo a celebração retornou. Uma limitação do gerador de perfil de máquina proprietário é que ele não leva para as fichas de pôquer do myspace o tempo que leva para um padrão de golfe enviar a saída para a placa gráfica, bem como o tempo que leva para ajudá-lo a visualizar a placa gráfica. Em outras palavras, um criador de perfil de instrumentação padrão completo para ajudá-lo a atribuir cada um dos trabalhos correlacionados a cada chamada de função.
O software do usuário permite que você use o conhecimento de dispositivo específico da placa de vídeo Tarot para transformar uma sequência de comando independente de dispositivo em uma sequência de comando de placa de vídeo completamente nova. Os drivers também podem melhorar a ordem em que os comandos são enviados com sucesso para a placa de vídeo, de modo que a renderização para a placa de mídia de vídeo seja realmente eficiente. Esses ajustes podem resultar em problemas de perfil, porque a quantidade de trabalho adquirida não é o que parece (você pode querer descobrir quaisquer ajustes para mantê-lo). O driver geralmente assume o controle da execução antes que sua placa gráfica processe vários comandos importantes.
A placa de vídeo faz grande parte do resto da renderização, combinando estudos do vértice da base e buffers de índice, estrutura, informações de renderização e controles gráficos.
Cada chamada de API Direct3D deve ser feita por um componente cuidado (runtime, driver e a maioria das placas de design) para renderizar algo.
Os componentes são controlados por vários processadores
Aprovado: Fortect
Fortect é a ferramenta de reparo de PC mais popular e eficaz do mundo. Milhões de pessoas confiam nele para manter seus sistemas funcionando de forma rápida, suave e livre de erros. Com sua interface de usuário simples e mecanismo de verificação poderoso, o Fortect localiza e corrige rapidamente uma ampla gama de problemas do Windows, desde instabilidade do sistema e problemas de segurança até gerenciamento de memória e gargalos de desempenho.
A ligação entre esses componentes é ainda mais complexa, pois um aplicativo, tempo de execução e driver são quase sempre controlados por um único processador, e uma placa de clipe de filme é controlada por um único processador. O diagrama a seguir mostra dois tipos de processadores: unidade de processamento focada (CPU) e programa de processamento gráfico (GPU).
Os gadgets para PC incluem pelo menos um produto e uma GPU, mas também podem incluir muitos ou ambos. Os processadores geralmente são encontrados na placa-mãe de uma pessoa, enquanto as GPUs são uma placa-mãe ou, possivelmente, uma placa de vídeo. A velocidade da CPU é considerada determinada pelo chip do clock de parede na placa-mãe específica, enquanto o aumento da GPU é determinado de acordo com o clock real individual.
Acelere o desempenho do seu computador agora com este simples download.