Bonjour à tous !
Voilà, j'ai un petit problème avec les données que me renvoie mon profiler concernant le résultat de gfx.waitForPresent. ( l'image du dessus est un screenshoot de mon profiler )
J'ai beau regarder sur internet, je n'arrive pas à avoir une réponse concrète de ce qu'est le gfx.waitForPresent.
J'ai supprimé la syncho verticale ( au cas où ça serait ça ).
Quelqu'un aurait-t il une idée ?
[Profiler] Qu'est ce que gfx.waitForPresent ?
[Profiler] Qu'est ce que gfx.waitForPresent ?
- Pièces jointes
-
- Sans titre-1.jpg (128.47 Kio) Consulté 4076 fois
- boubouk50
- ModoGenereux
- Messages : 6221
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [Profiler] Qu'est ce que gfx.waitForPresent ?
De ce que j'ai lu, ce serait le GPU qui a fini ses calculs avant la fin de la frame. Dans le cas d'un frameRate fixé à 60fps, les calculs doivent être effectués en 16ms. Si ton GPU a fini ses calculs avant cette limite alors il se met en attente de la suivante. Je n'ai pas vu par contre quelle incidence il a et son utilité pour le profiling.
Après pour la lecture des données, je suppose que l'on voit les temps d'attente du GPU... pas sûr...
Après pour la lecture des données, je suppose que l'on voit les temps d'attente du GPU... pas sûr...
"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: [Profiler] Qu'est ce que gfx.waitForPresent ?
gfx.waitForPresent est la v-sync. aussi, est-ce que tu es sûr que la v-sync est désactivée ? car même si elle est désactivée dans Unity, elle peut être forcée au niveau du driver de ta carte graphique.
d'autres parlent de désactiver les ombres en temps réel voire de lancer Unity en compatibilité winXP.
d'autres parlent de désactiver les ombres en temps réel voire de lancer Unity en compatibilité winXP.
Développeur Nintendo & PS Vita RIP PSM. Vive moi. Vive Unity. Flappikachu Vita
Re: [Profiler] Qu'est ce que gfx.waitForPresent ?
Oui, j'avais lu ça aussi. Mais alors pourquoi j'ai des pics ? Si c'était pour me caler à 60 fps, je devrais avoir quelque chose de régulier. Là, j'ai des pics entre 60 et 200 fps.
EDIT : J'ai donc bien la syncho verticale désactivé sur mon device et j'ai désactivé les ombres dans qualitySettings. ( c'était fait au moment du screenshot )
EDIT : J'ai donc bien la syncho verticale désactivé sur mon device et j'ai désactivé les ombres dans qualitySettings. ( c'était fait au moment du screenshot )
Re: [Profiler] Qu'est ce que gfx.waitForPresent ?
je vais remonter le topic, car j'ai le même soucis :
- mon appli tourne entre 35 et 50 fps, avec Gfx.WaitForPresent() qui prend entre 70 et 90% du temps de calcul CPU
- ma V-Synch est également désactivé
ce n'est pas la première fois que je fouille ce problème :
- c'est la V-synch ( apparement non, vu qu'elle est désactivée ^^ )
- c'est pour mettre le frame rate à 60 fps ( encore raté vu que ça me passe à 35 fps )
par contre, j'ai finis par trouver d'où ça viens exactement :
Gfx.WaitForPresent is kind of a catch-all that appears anytime the CPU waits for the GPU to finish a frame. You can check the GPU profiler to see what's taking up the time.
https://forums.oculus.com/viewtopic.php?t=13444
dans le profiler, rajoute le GPU est tu va voir que gfx.waitForPresent() est synchrone avec le gpu.
- mon appli tourne entre 35 et 50 fps, avec Gfx.WaitForPresent() qui prend entre 70 et 90% du temps de calcul CPU
- ma V-Synch est également désactivé
ce n'est pas la première fois que je fouille ce problème :
- c'est la V-synch ( apparement non, vu qu'elle est désactivée ^^ )
- c'est pour mettre le frame rate à 60 fps ( encore raté vu que ça me passe à 35 fps )
par contre, j'ai finis par trouver d'où ça viens exactement :
Gfx.WaitForPresent is kind of a catch-all that appears anytime the CPU waits for the GPU to finish a frame. You can check the GPU profiler to see what's taking up the time.
https://forums.oculus.com/viewtopic.php?t=13444
dans le profiler, rajoute le GPU est tu va voir que gfx.waitForPresent() est synchrone avec le gpu.
┬─┬ノ(º - ºノ) - (╯°□°)╯︵ ┻━┻