
Die Dokumentation für die Muster wird am besten auf der neuen Vulkan -Dokumentationsstelle betrachtet. Die Dokumentation verwendet Asciidoc, das nicht vollständig von GitHub unterstützt wird.
Die Vulkan -Proben sind die Sammlung von Ressourcen, mit denen Sie optimierte Vulkan -Anwendungen entwickeln können.
Wenn Sie neu in Vulkan sind, sind die API -Proben der richtige Ort für den Start. Darüber hinaus finden Sie möglicherweise die folgenden Links nützlich:
Vulkan -Leitfaden
Beginnen Sie in Vulkan
Performance-Beispiele zeigen die empfohlenen Best Practice zusammen mit Echtzeit-Profiling-Informationen. Sie sind fortgeschrittener, enthalten aber auch ein detailliertes Tutorial mit mehr Erklärungen für die Detaillierung.
Erstellen Sie eine Sammlung von Ressourcen, die in Vulkan Best-Practice-Empfehlungen demonstrieren
Erstellen Sie Tutorials, die die Implementierung von Best-Practices erläutern und Leistungsanalyseleitfäden enthalten
Erstellen Sie ein Framework, das als Referenzmaterial und auch als Sandkasten für erweiterte Experimente mit Vulkan verwendet werden kann
Auflistung aller in diesem Repository verfügbaren Muster
Projektgrundlagen
Kontrollen
Debuggefenster
Erstellen Sie ein Beispiel
Vulkan Essentials
Wie vergleicht Vulkan mit OpenGl ES? Was sollten Sie bei der Ausrichtung von Vulkan erwarten?
Miser
Treiberversion
Speichergrenzen
Voraussetzungen: Git mit Git großer Dateispeicher (GIT-LFS).
Klonen Sie das Repo mit Submodules mit dem folgenden Befehl:
Git Clone--Recurse-Submodules https://github.com/khronosgroup/vulkan-amples.git.git CD-Vulkan-Samples
Befolgen Sie die folgenden Anweisungen für Ihre Plattform.
Notiz | Das vollständige Repository ist sehr groß, und einige ISPs scheinen Probleme zu haben, eine robuste Verbindung zu Github zu bieten, während der Klon hergestellt wird. Wenn Sie Probleme wie Submodules bemerken, die in den Zehnkb/s zu gemeldeten Preisen herunterladen, oder tödliche Zeitüberschreitungsfehler auftreten, können diese auf Problemen mit Netzwerkrouting in GitHub im internen Netzwerk Ihres ISP zurückzuführen sein, anstatt dass etwas in Ihrem eigenen Netzwerk -Setup falsch ist. Es kann sehr schwierig sein, ISPs anzuerkennen, dass solche Probleme existieren, geschweige denn, um sie zu beheben. Eine Problemumgehung besteht darin, das Repository vor dem Download des Submoduls zu wechseln, um das SSH -Protokoll zu verwenden, das über EG erfolgen kann 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 updateDies kann zwar eine gute Alternative sein, wenn Sie in dieses Problem mit der Verbindung eingehen, aber Sie müssen mit GitHub SSH -Schlüsselauthentifizierungs -Setup SSH -Protokoll verwenden. Weitere Informationen finden Sie unter SSH. Es ist also keine Lösung, die wir als Repository -Standard implementieren können. Eine weitere Option, die helfen kann, GitHub über einen VPN -Dienst auszuführen. |
Windows - Anleitung erstellen
Linux - Build Guide
Android - Build Guide
MacOS - Build Guide
iOS - Guide Build Guide
Im Folgenden werden einige Beispiele für die Befehlszeile verwendet, um die Vulkan -Proben zu konfigurieren und auszuführen.
Stellen Sie sicher, dass Sie die Samples aus dem Stammverzeichnis des Repositorys ausführen. Andernfalls können die Proben das Vermögen nicht finden. ./build/app/bin/<buildtype>/<arch>/vulkan_samples
# Für den gesamten Gebrauch vulkan_samples -help # Für die Verwendung von Unterbewohnern die Verwendung vulkan_samples <sub_command> -help # Swapchain -Bilder ausführen vulkan_samples sample swapchain_images # Führen Sie die AFBC -Probe im Benchmark -Modus für 5000 Frames aus vulkan_samples sample AFBC-Benchmark-Stop-After-Frame 5000 # Rennen Sie NBODY mit Headless_Surface und machen Sie einen Screenshot von Frame 5 # Hinweis: Headless_Surface verwendet vk_ext_headless_surface. # Dies erzeugt eine Oberfläche und eine Swapchain, aber vorhanden ist ein No Op. # Die Erweiterung wird von SwiftShader (https://github.com/google/Swiftshader) unterstützt. # Es ermöglicht es, Inhalte in Umgebungen ohne GPU schnell zu testen. vulkan_samples sample compute_nbody - -headless_surface -Screenshot 5 # Führen Sie in jeder Konfiguration alle Leistungsmuster für 10 Sekunden aus vulkan_samples batch -Kategorie Leistung -Dauer 10 # Ausführen von Swapchain -Bildern Beispiel auf einem Android -Gerät ADB Shell Am Start -Aktivität -n com.khronos.vulkan_samples/com.khronos.vulkan_samples
Siehe Lizenz.
Dieses Projekt hat mehrere Abhängigkeiten von Drittanbietern
Dieses Projekt verwendet Vermögenswerte von Vulkan-Samples-Assets. Jeder hat eine eigene Lizenz.
Vulkan ist eine eingetragene Marke der Khronos Group Inc.
Spendet an Khronos by Arm, mit weiteren Beiträgen von Sascha Willems und Adam Sawicki. Sehen Sie die Mitwirkenden für die vollständige Mitwirkungsliste.
Auch siehe Beitrag für Beitragsrichtlinien.
Best Practices von Mali GPU: Ein Dokument mit Empfehlungen für die effiziente API -Nutzung