M#8006 - EloiStree/HelloVirtualReality GitHub Wiki
Optimization & Limitation of mobile in VR
Youtube
Find the list of all elements here
- Beginner: https://www.youtube.com/watch?v=1e5WY2qf600
- Optimisation: https://www.youtube.com/watch?v=j4YAY36xjwE
- Best practices https://youtu.be/-01SoWFkxcE
- AAA Scenes into VR: https://www.youtube.com/watch?v=2hCPS2gs1L8
Website
Optimiser un scène brute pour le mobile
- Concept à pratiquer et appréhender:
-
Afficher les frames par seconde ( )
-
Ne pas faire confiance à l'ordinateur
-
Drawcall: Nombre d'objets à rendre ( )
-
Mesh static et l'Occlusion Culling ( )
-
Lowpoly: Limiter le nombre de triangles ( )
-
Level of Detail (LOD) ( )
-
Lumière et ombrage ( )
-
Transparence des objets ( )
-
Les shaders et la VR
- Vertex Color ( Explication Forum Blog Tutroial )
-
La fusion des meshs.
-
Bonus: Groupe d'objets animés
-
Bonus: Le Pool Design Pattern et le Garbedge Collector
-
Gear VR Objetif
- Drawcall < 100 - 200
- Triange < 100.000 - 50.000
- 60 FPS (obligatoire)
NB: La réalité virtuelle double vos drawcalls.
Exemple: 1 Object with 3 materials = 6 drawcalls => 16 objects !
Liens intéressant
Manuelle
- https://docs.unity3d.com/Manual/MobileOptimizationPracticalGuide.html
- https://docs.unity3d.com/Manual/MobileOptimizationPracticalScriptingOptimizations.html
- https://docs.unity3d.com/Manual/OptimizingGraphicsPerformance.html
Blog : 1 2
Vidéo: 1 2 3
Profiler / Wifi
https://docs.unity3d.com/Manual/ProfilerWindow.html
Code Tips
- Cache references to GetComponent<> calls. Don’t use it in Update, save it in a variable and call it in Start.
- Don’t use FindObjectbyName, Type or anything similar.
- Don’t use SendMessage or BroadcastMessage
- Use Generics, and don’t use LINQ. (Language Integrated Query)
- Raycasts and Distance checks are super cheap. Use them liberally
- Make it works then optimize.