La beauté des images de jeu de rendu: un bref aperçu des outils + vidéo intéressante

La curiosité de l'esprit et le désir de savoir comment tout fonctionne de l'intérieur distingue le technicien de la masse des utilisateurs. Dans ce court article, je voudrais partager avec la communauté curieuse de petites vidéos et une courte recette pour utiliser un logiciel de profilage pour des applications 3D.



Clause de non-responsabilité
3D , , . . 3D . . ( ) — . .
, . .
- , «» «»

Regardez la vidéo, puis lisez-la.
Donc, si nous voulons évaluer comment se déroule la préparation du cadre de jeu. Quelle géométrie, textures, combien d'appels à dessiner, où se produit le rabattement des performances? Vous pouvez utiliser un logiciel spécialisé pour déboguer ces processus.

Je vais énumérer les principaux:

  1. Renderderoc
  2. Nvidia nsight
  3. GPUperfStudio

RenderDoc est un débogueur graphique de Crytek.



(Dans la capture d'écran, le buste de Lara Croft de la dernière partie: Rise of the Tomb Rider)

Support DirectX 11/12, Vulkan, OpenGL 3.2+



Ceci est un projet open source. Régulièrement soutenu par de nouveaux commits.

Lien vers le référentiel et la documentation

L'interface est assez flexible et intuitivement simple. En 5 minutes, il n’est pas difficile pour une âme curieuse de comprendre comment lancer un jeu ou une application et parcourir tout le processus de rendu. Les applications tierces pour démarrer ne sont pas nécessaires.

Spécifiez le chemin d'accès à exe, des paramètres supplémentaires et exécutez. Ensuite, dans l'application, au bon moment, appuyez sur F12 ou PrintScrn, RenderDoc enregistre un cadre qui peut être enregistré, et y revenir même sans démarrer le jeu ou le partager avec un partenaire.

Par exemple, vous pouvez exporter la géométrie et les textures.



Nvidia Nsight est un outil de débogage de NVIDIA.


Un outil de débogage génial et très puissant. Ce n'est pas le seul outil de l'arsenal Nvidia. Il existe des outils pour les applications mobiles, Linux, les appareils Mac, etc. Dans toute leur diversité, je ne comprenais pas. Nsight est censé être utilisé avec Visual Studio, mais pour un démarrage rapide, vous pouvez essayer sans Microsoft IDE installé.

Nous nous inscrivons gratuitement dans le programme développeur Nvidia et téléchargeons calmement les outils nécessaires. Le site Web de Nvidia contient de la documentation et des vidéos explicatives sur l'utilisation des outils.

Pour commencer, faites simplement glisser le raccourci de l'application vers le raccourci Nvidia Nsight. Et, si tout est correct, vous verrez HUD'y et les graphiques de Nsight.

Le cadre est simplifié: appuyez sur CTRL + Z, puis appuyez sur la barre d'espace ou le bouton avec l'icône de la loupe. Le processus s'arrête et la fenêtre Nsight Replay s'ouvre, au bas de laquelle se trouve une chronologie avec un curseur. Nsight a des conseils et l'interface est assez simple. Il est également possible d'enregistrer l'intégralité du rendu du cadre dans un fichier, mais pour l'ouvrir, vous devez tout de même installer Visual Studio.



Pour approfondir le processus, toutes les manipulations doivent être effectuées à partir de VS. Soit démarrer l'application 3D à partir de VS, soit démarrer le cadre enregistré (la fonction d'enregistrement de l'accès et sans VS installé)

Créer un projet vide:



Trouvez un bouton dans lequel nous entrons le chemin d'accès à l'application et certains paramètres nécessaires.



Et après cela, nous commençons le débogage. L'application s'ouvre. Si un chargeur est utilisé, il vous suffira peut-être de sélectionner le processus souhaité dans la fenêtre.



Le processus est le même que celui que j'ai décrit ci-dessus. Mais maintenant, VS ouvre des capacités de débogage supplémentaires, qui ne sont pas disponibles lors du débogage sans VS. Géométrie et textures, et shaders. Vous pouvez analyser les processus sous différents angles.



Nsight a également une fonctionnalité utile: vous pouvez exécuter l'application avec le serveur sur une machine dédiée et vous y connecter depuis VS. Ainsi, tout le monde n'a pas besoin de déployer le même environnement avec l'application, ce qui simplifie la vie du développeur ou de l'équipe de développement.

Pour travailler avec des cadres enregistrés, ouvrez simplement le projet enregistré pour votre version de Visual Studio, compilez la version de version et activez le débogage Nsight. De plus, comme décrit ci-dessus.

Au fait. Vous ne comprenez pas s'il est possible de regarder Nsight toute la géométrie de la course, comme cela se fait dans RenderDoc? Il est très pratique lors de l'affichage d'un appel de tirage spécifique avec des grilles d'appels précédents.

De plus, je n'ai pas pu vérifier le fonctionnement du logiciel sur la carte vidéo d'AMD, faute de cette dernière. Mais il semble que Nvidia n'a pas d'exigences strictes en la matière.

GPU PerfStudio - développement par Advanced Micro Devices (AMD)


Un outil merveilleux et puissant. Il a également la possibilité de déboguer à distance.

Lien de téléchargement et de documentation



, facile à utiliser. Il existe 2 versions du serveur (64 et 32 ​​bits) pour démarrer, faites simplement glisser l'application nécessaire sur le serveur. Ce qu'il demandera lui-même lorsque vous essayerez de l'exécuter.



Ensuite, allumez simplement le client. Nous nous connectons au serveur, faisons une pause au bon moment et maintenant nous pouvons faire tout ce que nous faisions auparavant dans RenderDoc ou Nvidia Nsight.

Prise en charge étendue de diverses API et appareils. Malgré son origine, il prend en charge ma carte graphique Nvidia. Donc pas de complots et de bâtons dans la roue ...

UPD Les commentaires suggéraient un autre outil open source.
apitrace
Multiplateforme et prise en charge de diverses API. Je ne l'ai pas encore ressenti, mais selon lieff un outil utile et simple.



Quel outil est le meilleur d'entre eux, je ne peux pas le dire. Chacun a ses propres mini-fonctionnalités, tableaux, graphiques, qui peuvent contenir des informations très nécessaires dans une tâche particulière. Du côté des utilisateurs, une personne curieuse, je suis en quelque sorte plus «arrivé» avec RenderDoc. Mais parfois, tous les processus ne peuvent pas y être démarrés.

Et au fait, à propos du démarrage des processus. Tout est très facile et simple lorsque vous avez l'application A et l'outil B. Ensuite, l'outil B lance l'application A et tout le monde est content. Mais s'il y a des intermédiaires dans ce schéma: lanceurs, logiciels anti-triche et autres wrappers, alors vous devez danser un peu.

Prenons un exemple de lancement d'un jeu à partir de Steam ou Origin et d'autres services.

Dans ce cas, vous devez respecter une certaine procédure dans n'importe quelle boîte à outils:

  1. Désactivez toutes sortes de superpositions dans le jeu sur Steam, Origin, Uplay, etc.
  2. Avant de démarrer, ces applications doivent être désactivées.
  3. Vous n'avez pas besoin d'exécuter le fichier de jeu, mais un wrapper (Steam, Origin, Uplay, etc.)
  4. Après cela, vous pouvez démarrer le jeu directement depuis le "wrapper" en cours d'exécution
  5. Souvent, des options de lancement supplémentaires sont nécessaires. Par exemple, pour Watch Dogs 2, le paramètre -eac_launcher est utilisé pour désactiver l'anti-triche. Ici, vous devez lire le fichier Lisez-moi, les configurations pour les indices. De plus, des options supplémentaires permettent d'accélérer le processus de lancement de l'application. Exemple Steam: -applaunch 99999 (app id)
  6. Vérifiez toujours la version de l'API dans l'application. Peut-être que DX12 est activé dans les paramètres, mais il n'est pas pris en charge par vous, etc. Effectuez des préréglages, fermez le jeu et commencez ensuite à déboguer.
  7. Certaines applications ne sont pas stables sur les systèmes multigraphiques (par exemple: vidéo embarquée + carte discrète). Désactivez inutile dans le gestionnaire de périphériques. De plus, dans ce cas, il vaut mieux débuter le tir du cadre, et non le jeu de course. Parce que tourment redémarrer en cas d'effondrement.



Les vidéos promises pour une collation. J'enregistre des vidéos en accéléré du processus de rendu d'une image d'un jeu. Je le trouve très amusant, instructif et beau. Tous les événements ne sont pas affichés sur la vidéo, car dans ce cas, ce serait trop tremblant.
Pubg

Battlefield 1


GTA V


Rise of Tomb Rider


Witcher 3


Watch dogs 2


Fallout 4


À propos des appels d'appel


Et c'est tout. J'espère que ce matériel impressionnera, vous dira, aidera ou affectera d'une autre manière positive le lecteur. Envoyez des modifications, des conseils, des remerciements et des coups de pied au PM ou des commentaires.

Et enfin, je voudrais faire connaître un peu ma chaîne Youtube: www.youtube.com/KakoytoAitishnik
C'est, bien sûr, une mauvaise idée pour les gictimes, mais tous ces gadgets sociaux: abonnements, likes et commentaires, augmentent la motivation pour la publication de contenu nouveau et meilleur.

Source: https://habr.com/ru/post/fr400963/


All Articles