[Optimisation] Aucune amélioration FPS

Section dédiée à la VR avec Unity
Avatar de l’utilisateur
FearCarly
Messages : 10
Inscription : 18 Déc 2016 01:26

[Optimisation] Aucune amélioration FPS

Message par FearCarly » 22 Mars 2017 14:51

Bonjour tout le monde,

depuis pas mal de temps je travaille sur un projet de jeu d'horreur à la première personne pour la GearVr, qui est en mouvement avec le Dpad de la gearvr.

Mon soucis est que j'ai fait énormément d'optimisation, mais je reste bloquer en moyenne à 30FPS :(

Mais je ne comprend pas pourquoi, voici ce que j'ai fait :
J'utilise Unity 5.4.1f1 et le système OVR fournis par Oculus.

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 :snif:

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

Merci d'avance

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6185
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [Optimisation] Aucune amélioration FPS

Message par boubouk50 » 22 Mars 2017 14:53

Et désactiver le VSync? (Synchronisation Verticale)
Option dans les QualitySettings.

Par script pour désactiver la VSync et forcer un FrameRate:
https://docs.unity3d.com/ScriptReferenc ... eRate.html
https://docs.unity3d.com/ScriptReferenc ... Count.html
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
FearCarly
Messages : 10
Inscription : 18 Déc 2016 01:26

Re: [Optimisation] Aucune amélioration FPS

Message par FearCarly » 22 Mars 2017 15:15

Merci pour ta réponse rapide :)

Pour le moment je n'est pas accès à la GearVR, mais effectivement, avec le Application.targetFrameRate = 200; et QualitySettings.vSyncCount = 0; dans l’éditeur je passe de 120/130fps à 190/220fps donc j’espère une net amélioration sur la GearVR :gene2:

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6185
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [Optimisation] Aucune amélioration FPS

Message par boubouk50 » 22 Mars 2017 15:21

La synchronisation verticale permet de caler le framerate sur le rafraîchissement de l'écran (par mulitple de 2: 15, 30, 60, 120 par ex) pour unifier l'affichage. (Eviter qu'une frame soit doublée, puis pas la suivante créant un petit effet de lag)
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
FearCarly
Messages : 10
Inscription : 18 Déc 2016 01:26

Re: [Optimisation] Aucune amélioration FPS

Message par FearCarly » 22 Mars 2017 15:30

Merci pour les informations, vraiment merci !

Par contre dans le profiler j'ai remarqué que j'ai toujours la vSync en fonctionnement, comment sa se fait?

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6185
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [Optimisation] Aucune amélioration FPS

Message par boubouk50 » 22 Mars 2017 15:36

As-tu également désactivé le V-Sync dans les QualitySettings? (ce que tu as fait en script le fait, mais juste pour tester)

Le fait que tu émules Android sous Windows pourrait entraîner ce désagrément. Là, je ne sais pas, je ne fait que supposer, je garde pratiquement toujours la V-Sync (sauf quand je tombe sous les 30 fps).
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
FearCarly
Messages : 10
Inscription : 18 Déc 2016 01:26

Re: [Optimisation] Aucune amélioration FPS

Message par FearCarly » 22 Mars 2017 15:43

Oui voici mon QualitySettings

Image

Je regarderais quand j'aurais la GearVr pour testé, comme tu le dis, c'est pour parce-que je test en mode Android dans l'editeur.

Avatar de l’utilisateur
FearCarly
Messages : 10
Inscription : 18 Déc 2016 01:26

Re: [Optimisation] Aucune amélioration FPS

Message par FearCarly » 22 Mars 2017 18:14

Bon après plusieurs test sur la GearVR, rien n'a changé, toujours 29-31 FPS :rougefaché:

Deuxième chose, quand je test sur une scène vide avec un plane, je suis a 59fps, donc il y a un soucis quelque part ...

EDIT : Voici le Profiler du jeu en mode GearVR on vois bien la vSync qui est encore activé ...
Image

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6185
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [Optimisation] Aucune amélioration FPS

Message par boubouk50 » 23 Mars 2017 10:30

Bon, question très con, mais comme c'est déjà arrivé: Tu as bien désactivé le VSync pour le bon QualitySettings? (Celui utilisé pour Android). Le problème de désactivation de la VSync est récurrent. J'ai le vague souvenir qu'en plus de la désactiver dans les QualitySettings, il fallait le refaire par code puis fixer le framerate, pour un résultat pas toujours présent...

Aussi, il est possible qu'il y ait un VSync sur le mobile indépendant d'Unity.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
FearCarly
Messages : 10
Inscription : 18 Déc 2016 01:26

Re: [Optimisation] Aucune amélioration FPS

Message par FearCarly » 23 Mars 2017 12:29

Oui je pense que c'est le bon "Tu me fait peur :| " , j'ai était dans Edit -> Project Settings -> Quality, puis j'ai cliqué sur Simple -> Vsync Count = Don't Sync (Simple est ma qualité par défaut)

Maintenant, j'ai modifier mon script en rajoutant

Code : Tout sélectionner

#if UNITY_ANDROID
Du coup voici mon script :

Code : Tout sélectionner

using UnityEngine;
using System.Collections;

public class FrameDebug : MonoBehaviour {

	// Use this for initialization
	void Start () {
		#if UNITY_ANDROID // GearVR
		QualitySettings.vSyncCount = 0;
		Application.targetFrameRate = 60;
		#endif
	}
}
:!: Les balises code SVP :!:
Merci de lire la Netiquette.

Répondre

Revenir vers « Unity et la VR »