[Optimisation] Aucune amélioration FPS
[Optimisation] Aucune amélioration FPS
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
Qu'est-ce que j'ai oublié?
Merci d'avance
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
Qu'est-ce que j'ai oublié?
Merci d'avance
- boubouk50
- ModoGenereux
- Messages : 6185
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [Optimisation] Aucune amélioration FPS
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
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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: [Optimisation] Aucune amélioration FPS
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
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
- boubouk50
- ModoGenereux
- Messages : 6185
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [Optimisation] Aucune amélioration FPS
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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: [Optimisation] Aucune amélioration FPS
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?
Par contre dans le profiler j'ai remarqué que j'ai toujours la vSync en fonctionnement, comment sa se fait?
- boubouk50
- ModoGenereux
- Messages : 6185
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [Optimisation] Aucune amélioration FPS
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).
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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
- boubouk50
- ModoGenereux
- Messages : 6185
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [Optimisation] Aucune amélioration FPS
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.
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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: [Optimisation] Aucune amélioration FPS
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
Du coup voici mon script :
Les balises code SVP
Merci de lire la Netiquette.
Maintenant, j'ai modifier mon script en rajoutant
Code : Tout sélectionner
#if UNITY_ANDROID
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
}
}
Merci de lire la Netiquette.