[Profiler] Qu'est ce que gfx.waitForPresent ?

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
soumois
Messages : 32
Inscription : 12 Oct 2014 02:25

[Profiler] Qu'est ce que gfx.waitForPresent ?

Message par soumois » 11 Fév 2015 14:45

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 ?
Pièces jointes
Sans titre-1.jpg
Sans titre-1.jpg (128.47 Kio) Consulté 4079 fois

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

Re: [Profiler] Qu'est ce que gfx.waitForPresent ?

Message par boubouk50 » 11 Fév 2015 15:00

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...
"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
minirop
Messages : 184
Inscription : 25 Juin 2014 12:58

Re: [Profiler] Qu'est ce que gfx.waitForPresent ?

Message par minirop » 11 Fév 2015 15:04

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éveloppeur Nintendo & PS Vita RIP PSM. Vive moi. Vive Unity. Flappikachu Vita

soumois
Messages : 32
Inscription : 12 Oct 2014 02:25

Re: [Profiler] Qu'est ce que gfx.waitForPresent ?

Message par soumois » 11 Fév 2015 15:21

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 )

sotec
Messages : 542
Inscription : 21 Sep 2012 10:11

Re: [Profiler] Qu'est ce que gfx.waitForPresent ?

Message par sotec » 28 Avr 2015 17:48

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.
┬─┬ノ(º - ºノ) - (╯°□°)╯︵ ┻━┻

Répondre

Revenir vers « Unity le logiciel »