Je viens de sortir de la PSP où les tests de performance étaient faciles. Vous venez d'éteindre 'vsync' et d'imprimer le frameratem, puis de changer quelque chose et de voir si la fréquence d'images augmente ou diminue ...Obtenir des performances de framerate sur l'iPhone
Y at-il un moyen de faire la même chose sur l'iPhone? Comment désactivez-vous vsync? L'outil Instruments est à côté de inutile. Son principal problème étant que son fonctionnement affecte négativement la performance de l'application! En outre, le taux de trame qu'il signale est extrêmement sporadique.
Je ne veux pas d'outil sophistiqué qui signale les arbres d'appels et le temps passé dans chaque fonction. Je veux juste un taux de trame sans restriction et un moyen de voir ce que c'est. Y a-t-il un compteur de haute précision que vous pouvez utiliser sur l'iPhone? Quelque chose comme QueryPerformanceCounter dans Windows?
En outre, y a-t-il de toute façon pour vous de tuer les processus en arrière-plan de sorte que vous sachiez qu'ils ne peuvent pas affecter la performance, peut-être résoudre le problème de fréquence d'images sporadique?
donc l'idée est. Continuez à faire une pause et à reprendre le débogueur, et la fonction sur laquelle il s'arrête le plus est celle que vous devez optimiser en premier, que ce soit parce que c'est appelé beaucoup ou parce que cela prend du temps. ça sonne bien en théorie. mais le problème est, avec le filetage et les choses ect. Par exemple, lorsque vous appuyez sur pause, le débogueur doit attendre que le code atteigne une attente. par exemple j'ai essayé ceci sur mon application d'Iphone, et il casse au même point chaque fois. complètement dans le code du système (pas de fonctions de la mienne). avez-vous essayé cela sur l'iphone? Pouvez-vous énumérer certaines plates-formes/débogueurs où cela fonctionne? – matt
@matt: Deux choses. 1) Regardez aussi la pile des appels, car toutes les lignes de code de la pile sont conjointement responsables de l'état dans lequel elle se trouve. Si l'une d'entre elles pouvait être réduite ou pas du tout, le temps serait sauvegardé. 2) Thread A pourrait être en attente de thread B, il est donc préférable si vous pouvez capturer tous les threads dans le processus. Cela devrait faire la lumière sur votre problème, à moins qu'il n'y ait vraiment rien à optimiser. Essayez-les, et bonne chance. –