L'optimisation de la performance est le processus de construction et d'itération sur un jeu afin d'améliorer le taux de rafraîchissement, l'utilisation de la mémoire et les temps de chargement. Les joueurs s'attendent à ce que les jeux fonctionnent bien, donc prendre le temps de comprendre et d'améliorer la performance de votre jeu peut être critique pour son succès.
La première étape de l'optimisation de la performance est de concevoir pour la performance, ce qui signifie suivre un ensemble de meilleures pratiques tandis que vous construisez un nouveau jeu. Après que vous ayez publié un jeu, le processus d'optimisation suit un cycle commun :
- Identifier les problèmes de performance - Utilisez les outils intégrés de Roblox pour trouver des problèmes de performance et identifier les causes profondes.
- Améliorer la performance - Après avoir trouvé un problème, vérifiez s'il s'agit d'un problème courant et comment vous pourriez l'atténuer. Vous pourriez également vouloir prendre des mesures proactives.
- Surveiller la performance - Utilisez des outils d'analyse pour surveiller l'impact de vos changements et chercher des indicateurs de problèmes de performance.

Pourquoi la performance est importante
Pour le dire simplement, les jeux performants sont plus amusants. Quand un jeu a un taux de rafraîchissement constant et fluide, même les actions de base comme courir et sauter semblent plus précises et agréables. Le fait de viser peut passer d'un sentiment d'impossibilité à un ressenti totalement naturel. Un jeu avec une faible empreinte mémoire et des temps de chargement rapides pourrait toujours avoir beaucoup d'autres personnes avec qui jouer.
L'optimisation de la performance vous permet également d'élargir vos ambitions. Si votre jeu fonctionne bien, vous pourriez être en mesure de le rendre plus vaste ou plus beau, ou d'y ajouter de nouveaux systèmes.
D'un point de vue commercial, les jeux performants ont souvent un engagement utilisateur plus élevé, une meilleure rétention des utilisateurs et génèrent plus d'argent.
Mesurer la performance
Taux de rafraîchissement est le nombre d'images uniques que le client présente à l'utilisateur, mesuré en images par seconde (IPS). La cause des faibles taux de rafraîchissement est généralement des opérations computationnelles coûteuses, en d'autres termes, une surcharge pour le CPU, le GPU ou les deux.
Comme le serveur ne rend pas d'images, il n'a pas techniquement de taux de rafraîchissement, mais le battement de cœur du serveur est essentiellement la même chose : le nombre de fois par seconde que le serveur met à jour sa simulation du monde. Un faible battement de cœur du serveur réduit le taux de rafraîchissement pour tous les clients et augmente la latence.
Du côté client, des taux de rafraîchissement bas ou incohérents réduisent la fluidité et la réactivité du jeu. Par défaut, les jeux Roblox visent 60 IPS, ce qui correspond à une image toutes les 16,67 millisecondes avec un bon rythme de rendu.
Utilisation de la mémoire est la quantité de RAM ou de swap que votre jeu utilise. Même si un jeu a une faible utilisation de mémoire au départ, des fuites de mémoire peuvent faire augmenter cette quantité avec le temps.
Sur le serveur, une utilisation excessive de la mémoire peut provoquer des plantages, ce qui déconnecte tous les joueurs du jeu.
Une utilisation excessive de la mémoire provoque également des plantages du client, mais cela empêche également les utilisateurs sur des appareils bas de gamme de jouer à votre jeu dès le départ. Réduire l'utilisation de la mémoire peut grandement élargir votre public cible, en particulier sur mobile.
Temps de chargement est le temps qu'il faut à un joueur pour commencer à profiter de votre jeu.
Des temps de chargement longs sont ennuyeux et nuisent à l'acquisition et la rétention des utilisateurs. Les joueurs peuvent décider qu'un jeu ne vaut tout simplement pas l'attente. À l'inverse, des temps de chargement rapides peuvent donner à votre jeu une sensation "d'entrer" qui rend les joueurs plus susceptibles de s'engager avec lui lorsqu'ils ont un moment de libre.