JVoici des moments où vous devez tirer pleinement parti de chaque as soon as de efficiency potential pour faire de votre jeu de rêve une réalité. Entrez le système de travail dans Unity. Il permet au développeur d’écrire du code multithread qui peut toujours interagir avec le reste de Unity.
Le multithreading permet au programme de s’exécuter plus rapidement en tirant parti de la capacité du processeur à traiter plusieurs threads en même temps sur plusieurs cœurs. Cela signifie généralement qu’un thread principal génère plusieurs autres threads qui, à leur tour, effectuent le travail. Le problème avec cela est que les jeux ont tendance à générer une tonne de threads. À tel level que la surcharge entraîne un fonctionnement moins efficace du processeur. Alors, remark résoudre ce problème ? Vous obtenez un emploi.
Un système de Job est un groupe de fils de travail qui sont exécutés sur plusieurs cœurs du processeur. Cela vous permet d’économiser des ressources en évitant d’avoir à effectuer un changement de contexte. Le système Job fonctionne sur une file d’attente Job où un thread de travail prend un élément de la file d’attente et l’exécute. Il fait tout cela en s’assurant de l’exécuter dans l’ordre approprié afin que les problèmes ne surviennent pas. Tous les Jobs n’ont pas de dépendances, alors que d’autres en ont, le débit peut dépendre de l’entrée et des dépendances qui leur sont associées. La meilleure partie? Le système C# Job de Unity détecte toutes les circumstances de concurrence potentielles et vous en protège. Qu’est-ce que c’est doux ? !
Pour créer une tâche dans Unity, vous devez implémenter le J’emploi interface. Cette interface vous permet de définir une construction qui a des paramètres et une fonction d’exécution. Dans l’exemple ci-dessous, nous définissons une tâche qui additionne deux nombres et renvoie le résultat dans un tableau.
Une fois que vous avez le travail, vous devez le planifier pour qu’il s’exécute dans le thread principal. Remarquez remark nous allouons de l’espace pour le tableau de résultats, puis le détruisons une fois que nous en avons terminé.
Bien que cela puisse sembler être un exemple très rudimentaire de Jobs, vous pouvez en faire beaucoup avec eux et ils offrent un avantage de vitesse extrême ! Regardez cette vidéo de GDC 2018 pour en savoir plus