CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Optimisation pour la GearVr

Netde
Netde
Niveau 5
24 février 2017 à 11:17:55

Hello,

Voilà, j'ai terminé mon jeu pour la GearVR et j'ai optimisé comme j'ai pu.
Le problème c'est que mon script qui affiche les FPS m'indique que je suis entre 20-40 fps ...

J'aimerais savoir qu'elle sont les optimisations primordiales pour un jeu GearVr.

Voici ce que j'ai fait en Optimisation :
Occlusion culling (j'ai juste activé l'option)
Mes objets sont en Static
Toutes mes textures sont en lightmap 128X128px

Qu'est-ce qui me reste à faire en optimisation s'il vous plaît ?

Le moteur est Unity 5.5 avec le SDK OVR.

Merci d'avance :)

Lapintade
Lapintade
Niveau 30
25 février 2017 à 14:04:55

Hello
Sur Unity tu as des outils pour mesurer les performances. Ainsi tu pourra voir si le soucis vient de ton jeu ou du rendu (bon ok c'est souvent le rendu).
Pour le rendu, je sais pas jusqu'ou vont les outils d'Unity (je suis plutot UE4). Mais ils ont surement ce qu'il faut pour te dire pourquoi c'est un peu lourd.
45 fps c'est bien pour de la VR, en dessous ca devient moyen. Idéalement c'est 90 pour que ce soit top.

Netde
Netde
Niveau 5
22 mars 2017 à 13:43:46

Désolé de répondre aussi tardivement je continuais mes optimisation.

Mais là, je ne comprend pas, voici ce que j'ai fait :

Occlusion culling
Compression des textures en ASTC en 1024
Mes PointLight en Baked (Le bake est activé)
Static sur tout les objets qui ne bouge pas
L'anti-aliasing en x2
Désactivé tout les shadows

Et rien à faire, je suis en moyenne à 30fps ... [[sticker:p/1lmk]] [[sticker:p/1kks]]

Qu'est-ce que j'ai oublié?

Merci d'avance [[sticker:p/1kkr]]

LGV
LGV
Niveau 28
22 mars 2017 à 14:06:10

Il n'y a pas de miracle, il faut utiliser un profiler. Si ca se trouve tu as p-e un thread bloquant avec des bottlenecks... ou completement autre chose, mais personne ne peut le deviner. Le developpeur peut parfois avoir une "bonne intuition", mais au final il faut toujours utiliser des outils.

Netde
Netde
Niveau 5
22 mars 2017 à 14:28:53

Dans le profiler j'ai remarqué que la vSync me bloquer pas mal, je les donc désactivé dans le QualitySetting et par script QualitySettings.vSyncCount = 0; mais dans le profiler j'ai toujours la vSync en fonctionnement, comment sa se fait?

zebtorax
zebtorax
Niveau 9
22 mars 2017 à 19:06:21

De toute façon il vaut mieux ne pas s'en passer, ça risque de laguer encore plus autrement (même s'il est possible que cela augmente le nombre de FPS), c'est ce qu'y fait la synchro avec ton écran (soit ta vr.)
Et il n'est pas interdit d'animer les objets dans un jeu normalement à condition que ce soit bien optimisé. :-)
Assure toi plutôt d'avoir des objets low poly, le moins possible et vérifier un par un les éléments qui constituent ta scène. Le problème peut venir de n'importe où (exemple un objet caché mal disposé et sujet à l’attraction...) Pour cela qu'il peut être pratique de sous-enregistrer des mises à jour, pour pouvoir revenir en arrière, avant que le problème n’apparaisse. :oui:

blachscholes56
blachscholes56
Niveau 5
23 mars 2017 à 00:19:18

Profiler le code serait une bonne solution, en premier lieu. Mais sinon, par défaut, je dirai que ce qui tue les performances sur mobile sont les draw calls. Avoir trop d'objets/materials distincts est bien plus destructeur qu'avoir trop de polygones sur mobile. Unity est censé faire du batching à l'affichage mais pour avoir testé cette fonctionnalité dans un cas d'école, je dirai qu'elle est soit cassée, soit à côté de la plaque. La seule solution est d'assembler les objets partageant un même material dans un éditeur 3D et d'exporter des morceaux de niveau complets, au lieu de séparer tous les objets.

Netde
Netde
Niveau 5
23 mars 2017 à 12:57:04

Le 22 mars 2017 à 19:06:21 zebtorax a écrit :
De toute façon il vaut mieux ne pas s'en passer, ça risque de laguer encore plus autrement (même s'il est possible que cela augmente le nombre de FPS), c'est ce qu'y fait la synchro avec ton écran (soit ta vr.)
Et il n'est pas interdit d'animer les objets dans un jeu normalement à condition que ce soit bien optimisé. :-)
Assure toi plutôt d'avoir des objets low poly, le moins possible et vérifier un par un les éléments qui constituent ta scène. Le problème peut venir de n'importe où (exemple un objet caché mal disposé et sujet à l’attraction...) Pour cela qu'il peut être pratique de sous-enregistrer des mises à jour, pour pouvoir revenir en arrière, avant que le problème n’apparaisse. :oui:

Pour le moment je n'est pas d'animation, de plus, tout mes objet sont lowpoly, je ne depasse pas les 20k vert/tris par frame.

Le 23 mars 2017 à 00:19:18 blachscholes56 a écrit :
Profiler le code serait une bonne solution, en premier lieu. Mais sinon, par défaut, je dirai que ce qui tue les performances sur mobile sont les draw calls. Avoir trop d'objets/materials distincts est bien plus destructeur qu'avoir trop de polygones sur mobile. Unity est censé faire du batching à l'affichage mais pour avoir testé cette fonctionnalité dans un cas d'école, je dirai qu'elle est soit cassée, soit à côté de la plaque. La seule solution est d'assembler les objets partageant un même material dans un éditeur 3D et d'exporter des morceaux de niveau complets, au lieu de séparer tous les objets.

Mon maximum de drawcall est de 92, Oculus recommande un maximum de 100 donc je suis dans les clous.

Netde
Netde
Niveau 5
23 mars 2017 à 13:02:55

Après, dans mon profiler, j'ai Vr.WaitForGPU, mais je ne sais pas à quoi il correspond, il mange pas mal de ressource, c'est peut-être mon soucis?
http://www.hostingpics.net/viewer.php?id=212230profiler.jpg

Désolé pour le double post, je ne peut Editer ...

Message édité le 23 mars 2017 à 13:03:50 par Netde
zebtorax
zebtorax
Niveau 9
23 mars 2017 à 13:26:49

Dans ce cas, c'est très certainement possible que ton problème d'optimisation provient plus de l'implication de la vr en elle même que de la conception du jeu proprement dite, en effet.
Tu as peut-être un conflit périphérique.
Vérifier
- Ton matériel (peut-être obsolète)
- Les pilotes, plugins, mise à jour, sdk utilisés, etc.
- Ta version d'Unity

Netde
Netde
Niveau 5
23 mars 2017 à 14:09:00

Le 23 mars 2017 à 13:26:49 zebtorax a écrit :
Dans ce cas, c'est très certainement possible que ton problème d'optimisation provient plus de l'implication de la vr en elle même que de la conception du jeu proprement dite, en effet.
Tu as peut-être un conflit périphérique.
Vérifier
- Ton matériel (peut-être obsolète)
- Les pilotes, plugins, mise à jour, sdk utilisés, etc.
- Ta version d'Unity

Matériel : GearVr, téléphone & PC, c'est ok.
J'ai contrôlé mes version SDK ... tout est mise à jours.
J'utilise la version recommandé d'unity par Oculus : Unity 5.4.1f1

zebtorax
zebtorax
Niveau 9
24 mars 2017 à 13:03:46

Qui dit fonctionne ne fonctionne pas forcément bien. :-)
J'ai fais une rapide vérification sur Google, apparemment pas mal de gens se plaignent du même problème que toi. Exemple ici
https://forum.unity3d.com/threads/vr-vive-performance-problems-regular-vr-waitforgpu-spikes.434291/

Bref Unity 5.5 est sans doute plus adapté.
5.5b8 a l'air de bien fonctionner.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment