
La documentation des échantillons est mieux consultée sur le nouveau site de documentation Vulkan. La documentation utilise ASCIIDOC qui n'est pas entièrement prise en charge par GitHub.
Les échantillons Vulkan sont la collecte de ressources pour vous aider à développer des applications Vulkan optimisées.
Si vous êtes nouveau dans Vulkan, les échantillons d'API sont le bon point de départ. De plus, vous pouvez trouver les liens suivants utiles:
Guide Vulkan
Commencez à Vulkan
Les échantillons de performances montrent les meilleures pratiques recommandées ainsi que les informations de profilage en temps réel. Ils sont plus avancés mais contiennent également un tutoriel détaillé avec des explications plus détaillées.
Créez une collection de ressources qui démontrent les recommandations de meilleures pratiques dans Vulkan
Créez des tutoriels qui expliquent la mise en œuvre des meilleures pratiques et incluent des guides d'analyse des performances
Créez un cadre qui peut être utilisé comme matériau de référence et également comme bac à sable pour une expérimentation avancée avec Vulkan
Liste de tous les échantillons disponibles dans ce référentiel
Bases du projet
Commandes
Débogage
Créer un échantillon
Vulkan Essentials
Comment Vulkan se compare-t-il à OpenGl ES? À quoi devriez-vous vous attendre lorsque vous ciblez Vulkan?
Mission
Version du conducteur
Limites de mémoire
Prérequis: GIT avec stockage de fichiers GIT Large (GIT-LFS).
Clone le repo avec des sous-modules en utilisant la commande suivante:
GIT CLONE ---Recurse-Submodules https://github.com/khronosgroup/vulkan-sechles.git CD-Vulkan-échantillons
Suivez les instructions de construction pour votre plate-forme ci-dessous.
Note | Le référentiel complet est très grand et certains FAI semblent avoir du mal à fournir une connexion robuste à GitHub pendant que le clone est en cours. Si vous remarquez des problèmes tels que le téléchargement de sous-modules à des taux signalés dans les dizaines de KB / s ou des erreurs de délai de délai fatal, celles-ci peuvent être dues à des problèmes de routage du réseau vers GitHub dans le réseau interne de votre FAI, plutôt que quelque chose de mal dans votre propre configuration de réseau. Il peut être très difficile d'obtenir des FAI pour reconnaître que de tels problèmes existent, encore moins pour les résoudre. Une solution de contournement consiste à changer le référentiel pour utiliser le protocole SSH avant le téléchargement du sous-module, qui peut être fait via par exemple git clone [email protected]:KhronosGroup/Vulkan-Samples.git
cd Vulkan-Samples
perl -i -p -e ' s|https://(.*?)/|git@1:|g ' .gitmodules
git submodule sync
git submodule updateBien que cela puisse être une bonne alternative si vous rencontrez ce problème de connexion, vous devez avoir une configuration d'authentification de clé GitHub SSH pour utiliser le protocole SSH - voir la connexion à GitHub avec SSH pour plus de détails. Il ne s'agit donc pas d'une solution que nous pouvons implémenter en tant que défaut de référentiel. Une autre option qui peut aider est d'exécuter GitHub via un service VPN. |
Windows - Guide de construction
Guide Linux - Build
Android - Guide de construction
macOS - Guide de construction
IOS - Guide de construction
Ce qui suit montre un exemple d'utilisation de la ligne de commande sur la façon de configurer et d'exécuter les échantillons Vulkan.
Assurez-vous que vous exécutez les échantillons à partir du répertoire racine du référentiel. Sinon, les échantillons ne pourront pas trouver les actifs. ./build/app/bin/<buildType>/<Arch>/vulkan_sample
# Pour toute l'utilisation de l'utilisation vulkan_sample - help # Pour l'utilisation d'utilisation des sous-commandes vulkan_samples <sub_command> - help # Exécuter des images swapchain échantillon vulkan_samp exemple swapchain_images # Exécutez un échantillon AFBC en mode de référence pour 5000 images Vulkan_Samp exemple de l'AFBC - Benchmark --stop-after-frame 5000 # Exécutez le calcul du Nody à l'aide de Headless_surface et prenez une capture d'écran de Frame 5 # Remarque: Headless_surface utilise vk_ext_headless_surface. # Cela créera une surface et un swapchain, mais le présent sera un non op. # L'extension est prise en charge par SwiftShader (https://github.com/google/swiftshader). # Il permet de tester rapidement le contenu dans des environnements sans GPU. vulkan_samples exemples de calcul_nbody --headless_surface -screenshot 5 # Exécutez tous les échantillons de performances pendant 10 secondes dans chaque configuration Vulkan_Samples Batch - Performance de catégorie - durée 10 # Exécuter des images de swapchain échantillon sur un appareil Android adb shell am start-activity -n com.khronos.vulkan_samples / com.khronos.vulkan_samples.samplelauncherActivity -e échantillon swapchain_images
Voir la licence.
Ce projet a plusieurs dépendances tierces
Ce projet utilise des actifs à partir de Vulkan-Samples-Assets. Chacun a sa propre licence.
Vulkan est une marque déposée de Khronos Group Inc.
Donné à Khronos par ARM, avec d'autres contributions de Sascha Willems et Adam Sawicki. Voir les contributeurs pour la liste complète des contributeurs.
Voir également contribuer aux directives de contribution.
Mali-GPU Best Practices: un document avec des recommandations pour une utilisation efficace de l'API