Au cours des dernières semaines, certaines personnes liées à nos lecteurs ont rencontré un bogue connu fonctionnant dans le profileur Directx 9. Il y a un certain nombre de facteurs téléphoniques qui peuvent causer ce problème. Discutons-en maintenant.
Approuvé : Fortect
- 47 minutes avant le départ.
- Un profilage précis est difficile pour Direct3D
- Comment la séquence de rendu Direct3D génère un profil précis
- Profilage des changements d’état Direct3D
- Résumé
- Application
(API) appels. Si vous avez fait cela mais avez reçu des effets secondaires qui diffèrent d’une séquence de rendu à une plage de rendu, ou si vous pensez que l’expérience ne correspondra pas seulement aux solutions expérimentales réelles, les informations suivantes peuvent certainement vous aider à comprendre pourquoi.
Les informations affichées ici reposent entièrement sur l’hypothèse que vous avez des expériences et une expérience passées dans les domaines suivants :
- Programmation C/C++
- Programmation API Direct3D
- API de mesure du temps
- Carte vidéo, puis logiciel pilote.
- Résultats possibles inexpliqués en dehors de l’expérience de profilage.
Un profilage Direct3D précis est difficile
Le profileur rapporte le temps saisi pour chaque appel d’API. En fin de compte, cela devrait développer les performances en détectant et en supprimant les points chauds. Il existe généralement plusieurs types possibles d’outils de profilage et de profilage.
- Le profileur sélectif est le plus inactif en ce qui concerne le temps et s’exécute à intervalles réguliers pour échantillonner (ou enregistrer positivement) ce qu’il fait. Il montre le pourcentage de temps passé sur autant que chaque appel. En général, l’échantillonnage à partir d’un profileur absolu est certainement très invasif pour une application mais a un impact minimal sur l’ensemble de l’application.
- Le profileur d’outils mesure l’événement réel requis pour terminer l’appel. Cela nécessite de compiler ces délimiteurs start-stop dans l’application. Toolkit est littéralement le profileur particulier, qui est comparativement plus invasif pour l’application exacte qu’un profileur d’échantillon.
- Vous avez également la possibilité d’utiliser une technique de profilage personnalisée avec cet important minuteur hautes performances. Ce résultat est terriblement similaire à celui du profileur instrumental.
Le type en dehors du profileur ou cette méthode de profilage utilisée est simplement une tâche qui fait le tour qui génère certaines métriques.
Le profilage donne une réponse pour vous aider à budgétiser le travail de vos ménages. Par exemple, supposons que vous sachiez que ce qui suit prend, en moyenne, un millier de périodes d’horloge murale pour effectuer un appel d’API. Vous pouvez avoir besoin d’un certain niveau d’inférence de performance, par exemple :
- Il existe une limitation sur un processeur 2 GHz (qui passe 50 % de son temps de rendu d’objets) qui peut appeler cette API 1 million de fois par seconde.
- Pour obtenir 30 images par seconde, vous ne pouvez pas appeler cette API plusieurs fois pour obtenir 33 000 images par image.
- Vous pouvez conserver un maximum de 3 3000 objets pour chaque (en supposant que le cadre 10 de ce type d’API crée la séquence d’affichage pour chaque objet).
En d’autres termes, si vous disposez de suffisamment de minutes pour téléphoner à l’API, vous pouvez poser une question précise sur le budget des paramètres tels que la série de primitives qui peuvent être affichées de manière interactive. Mais les chiffres bruts renvoyés par l’incroyable profileur de programme ne peuvent pas répondre avec précision aux questions sur l’administration actuelle des coûts. C’est parce que la direction graphique a des problèmes de conception de structure tels que le nombre de variables qui doivent s’exécuter, le nombre de processeurs qui dominent le flux de travail entre les composants, et ici en plus des stratégies d’optimisation mises en œuvre au début à l’exécution et peuvent donc rendre le tuyau plus efficace au moment de la conception.
Chaque API appelle via plusieurs composants
Chaque appel doit provenir de plusieurs composants en raison d’une application de carte graphique particulière. Par exemple, races Regardons la séquence de rendu suivante, qui comprend deux demandes pour dessiner un triangle :
définit l'ordre (...) ;DrawPrimitive (D3DPT_TRIANGLELIST, 0, 1);
Le schéma de plan suivant montre les différentes composantes humaines par lesquelles les webinaires doivent toujours passer.
L’application décide quoi Direct3d, manipule la scène humaine, gère l’interaction de l’internaute et apprend comment le rendu est effectué. Tout ce travail est spécifié dans la séquence de livraison, qui, selon les experts, est envoyée lors de la lecture à l’aide d’appels d’API Direct3D. La séquence de rendu est sans aucun doute juste indépendante du matériel (c’est-à-dire que les messages vocaux de l’API du téléphone sont indépendants du matériel, mais connaissent les fonctionnalités soutenues par la carte vidéo principale).
La lecture convertit ces appels dans un format indépendant du périphérique. Le runtime gère toute cette communication spéciale entre n’importe quelle application et ce pilote, de sorte que le logiciel fonctionnera sur plusieurs innovations domestiques compatibles (selon les fonctionnalités requises par Xia). Lorsqu’un seul appel d’opération est mesuré, le profileur d’instruments garde une vue du temps qu’il a passé sur n’importe quel travail et combien de temps la fonction a été renvoyée. Une limitation du profileur d’outils propriétaire est qu’il ne prend pas en compte le temps qu’il faut à un club de golf pour envoyer la sortie à la carte graphique, ainsi que le temps qu’il faut pour afficher ces cartes graphiques. En d’autres termes, un profileur d’instrumentation classique pour vous aider à affecter toutes les performances corrélées, c’est magique à chaque appel de fonction.
Le logiciel du pilote vous encourage à utiliser les connaissances matérielles spécifiques relatives à la carte de tarot vidéo pour convertir une séquence de commandes indépendante du périphérique appropriée en une séquence de commandes de salutation vidéo entièrement nouvelle. Les pilotes peuvent également optimiser la disposition dans laquelle les commandes sont envoyées à la carte vidéo, de sorte que le rendu sur la carte vidéo est vraiment efficace. Ces ajustements peuvent créer des problèmes de profilage, car la quantité de travail appris n’est pas ce qu’elle semble (vous devrez peut-être trouver des ajustements pour s’adapter à cela). Le pilote prend généralement le contrôle de l’efficacité avant que sa carte graphique ne traite les instructions importantes.
La carte graphique effectue la majeure partie du reste du rendu, en combinant les données de ses tampons de sommet et d’index de base, les textures, l’aide et les conseils de rendu et les commandes graphiques.
Chaque API Direct3D contactée doit être effectuée par un composant géré (runtime, pilote et la plupart des cartes graphiques) lors du rendu de quelque chose.
Les composants sont contrôlés par plusieurs processeurs
Approuvé : Fortect
Fortect est l'outil de réparation de PC le plus populaire et le plus efficace au monde. Des millions de personnes lui font confiance pour assurer le fonctionnement rapide, fluide et sans erreur de leurs systèmes. Avec son interface utilisateur simple et son puissant moteur d'analyse, Fortect détecte et corrige rapidement un large éventail de problèmes Windows, de l'instabilité du système et des problèmes de sécurité à la gestion de la mémoire et aux goulots d'étranglement des performances.
La relation entre ces types de composants est encore plus complexe car un outil, un environnement d’exécution et un pilote sont presque toujours contrôlés à l’aide d’un seul processeur, et une carte vidéo doit être contrôlée par un seul processeur. Le plan suivant montre deux types de processeurs : l’espace de traitement central (CPU) et l’unité de traitement graphique (GPU).
Les gadgets PC incluent au moins un processeur et votre GPU, mais peuvent également en inclure plusieurs ou fréquemment. Les processeurs se trouvent généralement sur la carte mère, tandis que les GPU sont soit une carte mère, soit éventuellement une belle carte vidéo. La vitesse du processeur est déterminée ainsi que la puce d’horloge murale de la carte mère, alors qu’il est vrai que le boost GPU est déterminé par l’horloge réelle solitaire.
Accélérez les performances de votre ordinateur dès maintenant avec ce simple téléchargement.