• Jeux
  • Industrie
  • Ressources
  • Communauté
  • Apprentissage
  • Assistance
Développement
Moteur Unity
Créez des jeux 2D et 3D pour n'importe quelle plateforme
TéléchargerOffres et tarifs
Monétisation
Achat intégré (IAP)
Découvrez et gérez les IAP à travers les magasins
Mediation
Maximisez les revenus et optimisez la monétisation
Qualité des annonces
Protégez l'expérience utilisateur de votre application
Tapjoy
Construisez une fidélité utilisateur à long terme
Tous les produits de monétisation
Acquisition de nouveaux joueurs
Acquisition de nouveaux joueurs
Faites-vous découvrir et acquérez des utilisateurs mobiles
Unity Vector AI
Connectez les joueurs avec les bons jeux
Aura publicité sur appareil
Atteignez les utilisateurs sur l'appareil au moment de l'engagement maximal
Tous les produits de croissance
Cas d’utilisation
Collaboration 3D
Construisez et révisez des projets 3D en temps réel
Formation immersive
Entraînez-vous dans des environnements immersifs
Expériences client
Créez des expériences interactives 3D
Toutes les solutions sectorielles
Secteurs
Fabrication
Atteindre l'excellence opérationnelle
Distribution
Transformer les expériences en magasin en expériences en ligne
Automobile
Élever l'innovation et les expériences en voiture
Tous les secteurs
Bibliothèque technique
Documentation
Manuels d'utilisation officiels et références API
Outils de développement
Versions de publication et suivi des problèmes
Feuille de route
Examiner les fonctionnalités à venir
Glossaire
Bibliothèque de termes techniques
Informations
Études de cas
Histoires de succès dans le monde réel
Guides des meilleures pratiques
Conseils et astuces d'experts
Toutes les ressources
Nouveautés
Blog
Mises à jour, informations et conseils techniques
Actualités
Actualités, histoires et centre de presse
Centre communautaire
Discussions
Discuter, résoudre des problèmes et se connecter
Événements
Événements mondiaux et locaux
Histoires de la communauté
Made with Unity
Mise en avant des créateurs Unity
Diffusions en direct
Rejoignez les développeurs, créateurs et initiés
Unity Awards
Célébration des créateurs Unity dans le monde entier
Pour tous les niveaux
Unity Learn
Maîtrisez les compétences Unity gratuitement
Formation professionnelle
Améliorez votre équipe avec des formateurs Unity
Vous découvrez Unity ?
Démarrer
Démarrez votre apprentissage
Parcours essentiels Unity
Vous découvrez Unity ? Commencez votre parcours
Guides pratiques
Conseils pratiques et meilleures pratiques
Formation
Pour les étudiants
Démarrez votre carrière
Pour les enseignants
Boostez votre enseignement
Licence d'enseignement subventionnée
Apportez la puissance de Unity à votre institution
Certifications
Prouvez votre maîtrise de Unity
Options d'assistance
Obtenir de l'aide
Vous aider à réussir avec Unity
Plans de succès
Atteignez vos objectifs plus rapidement avec un support expert
FAQ
Réponses aux questions courantes
Contactez-nous.
Connectez-vous avec notre équipe
Offres et tarifs
Langue
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
Réseaux sociaux
Devise
Acheter
  • Produits
  • Unity Ads
  • Abonnement
  • Asset Store Unity
  • Revendeurs
Formation
  • Participants
  • Formateurs
  • Établissements
  • Certification
  • Formation
  • Programme de développement des compétences
Télécharger
  • Hub Unity
  • Télécharger des archives
  • Programme version Bêta
Unity Labs
  • Laboratoires
  • Publications
Ressources
  • Plateforme d'apprentissage
  • Communauté
  • Documentation
  • Unity QA
  • FAQ
  • État des services
  • Études de cas
  • Made with Unity
Unity
  • Notre entreprise
  • Newsletter
  • Blog
  • Événements
  • Carrières
  • Aide
  • Presse
  • Partenaires
  • Investisseurs
  • Affiliés
  • Sécurité
  • Impact sociétal
  • Inclusion et diversité
  • Contactez-nous.
Copyright © 2025 Unity Technologies
  • Mentions légales
  • Politique de confidentialité
  • Cookies
  • Ne vendez ou ne partagez pas mes informations personnelles

« Unity », ses logos et autres marques sont des marques commerciales ou des marques commerciales déposées de Unity Technologies ou de ses filiales aux États-Unis et dans d'autres pays (pour en savoir plus, cliquez ici). Les autres noms ou marques cités sont des marques commerciales de leurs propriétaires respectifs.

Hero background image

Optimiser les performances des jeux en 2D avec Unity Tilemap

Obtenez des conseils pour améliorer les performances de vos jeux 2D et applications mobiles avec Unity Tilemap. Les sujets abordés ici incluent la taille de la scène, la sérialisation, le rendu du processus et le traitement par lots.
Cette page a été traduite automatiquement pour faciliter votre expérience. Nous ne pouvons pas garantir l'exactitude ou la fiabilité du contenu traduit. Si vous avez des doutes quant à la qualité de cette traduction, reportez-vous à la version anglaise de la page web.
Cliquez ici.

Ces conseils sont particulièrement utiles pour les utilisateurs ayant une certaine expérience avec l'outil 2D de Unity. Une autre excellente ressource pour les créateurs professionnels développant des jeux 2D commerciaux avec Unity est notre e-book, art de jeu 2D, éclairage et animation.

Si vous débutez dans le développement de jeux 2D avec Unity, commencez par le guide 2D pour les nouveaux utilisateurs.

  • Conseils généraux de performance
  • Une brève introduction à Tilemap
  • Moins de GameObjects
  • Taille de scène réduite
  • Moins de Colliders
  • Réduction de la surcharge de rendu
  • Coût de culling réduit
  • Moins de requêtes par lots
  • Un taux de rafraîchissement plus rapide
  • Regroupez les Sprites avec Sprite Atlas
  • Plus de ressources pour les créateurs de jeux 2D
Capture d'écran de l'éditeur Unity
UNE IMAGE DU PROJET UNITY 2D LOST CRYPT

Conseils généraux de performance

Voici quelques conseils généraux de performance à considérer :

  • Pensez à la performance de vos actifs (les données) dès le début. Si ces éléments ne sont pas performants, il y a peu de choses que vous pouvez faire par la suite pour optimiser votre code.
  • Profil sur votre appareil cible le moins performant. Utilisez le Profiler Unity tout au long du développement de votre projet, ainsi que des outils de profilage spécifiques à la plateforme, tels que Xcode pour les appareils iOS.
  • Ne pas utiliser plus d'un tiers de la RAM disponible sur votre appareil cible le moins performant. Cela garantit que votre contenu fonctionnera bien sur une large gamme d'appareils mobiles (les téléphones Android peu coûteux restent les plus populaires sur les marchés mobiles).

Pour plus de conseils d'optimisation 2D, consultez ces ressources :

  • Une série de conseils 2D géniaux
  • Histoires des tranchées de l'optimisation
  • Comprendre l'optimisation dans Unity
Voir Lost Crypt
Unity - Créer des niveaux en 2D rapidement avec Tilemap
EXEMPLE DE TILEMAP

Une brève introduction à Tilemap

Le composant Tilemap vous permet de créer efficacement des niveaux 2D en utilisant des tuiles sur une superposition de grille. Il comprend un certain nombre d'éléments, y compris :

  • Classe de tuile
  • Ressources
  • Composant de grille
  • Palette de tuiles
  • Pinceaux Scriptables

Vous pouvez créer des niveaux 2D en utilisant une combinaison de Sprites et d'Objets de Jeu, et contrôler des propriétés telles que les Couches de Tri, les Colliders de Tilemap et les Tuiles Animées, entre autres. Vous pouvez également peindre des Sprites Carrés, Hexagonaux et Isométriques.

Peignez vos niveaux avec Tilemap, de sorte que le composant Collider 2D de Tilemap générera automatiquement un Collider autour des Tuiles (en fonction du paramètre de type de Collider de la Tuile), lorsqu'il est appliqué à un GameObject Tilemap.

Examinons les gains de performance dont vous bénéficiez avec Tilemap par rapport aux scènes construites avec des Sprites.

Tilemap avec moins d'objets
TILEMAP DANS LA DÉMO UNITY 2D DE DRAGON CRASHERS

Moins de GameObjects

L'utilisation de Tilemap réduit les temps de chargement, ainsi que l'utilisation de la mémoire et du CPU.

Si vous avez déjà développé des jeux et des applications 2D, vous savez que vous pouvez vous retrouver avec un grand nombre de Sprites dans votre jeu, tous en tant que GameObjects séparés. Il y a des composants sur chacun de ces GameObjects Sprite, y compris un Transform et un Renderer, qui prennent tous de la mémoire. D'autres composants, tels que les Colliders, entraînent une surcharge CPU.

En comparaison, un Tilemap utilise un Renderer pour toute la carte et tous ses tuiles. Cela entraîne moins de surcharge car il ne gère que ses propres structures de données, par rapport à avoir plusieurs structures de données dans la mémoire.

Avoir moins de GameObjects entraîne une hiérarchie plus propre, ce qui signifie que vous n'aurez pas à faire défiler une liste complexe pour essayer de trouver ce dont vous avez besoin.

Unity-Diminuer la taille de la scène avec Tilemap
UNE COMPARAISON DE DEUX FICHIERS SÉRIALISÉS, L'UN CRÉÉ À L'AIDE DE SPRITES (GAUCHE) ET L'AUTRE À L'AIDE DE TILEMAPS (DROITE)

Taille de scène réduite

Le Tilemap Unity réduit la taille de la scène. Avoir moins de GameObjects et de composants signifie moins d'objets à charger depuis le disque, à désérialiser et à garder en mémoire à l'exécution.

Le chargement des scènes dans Unity est un processus en deux parties : Tout d'abord, les données sont lues depuis le disque. C'est le processus qui prend souvent le plus de temps dans votre jeu, surtout sur les appareils Android. Ensuite, les données sont désérialisées. La désérialisation est le processus de transformation des données d'un format à un autre. Essentiellement, cela restaure les données et les objets à partir d'un état sauvegardé. Unity effectue la sérialisation en interne afin que chaque fois qu'il charge un fichier de scène dans l'éditeur et à l'exécution, il prenne ces fichiers sauvegardés et les transforme en objets Unity.

Dans l'image ci-dessus, vous pouvez voir une comparaison entre deux fichiers de scène sérialisés, l'un utilisant des Tilemaps, et l'autre recréé à l'aide de Sprites. Merci à Pixel Reign pour cette scène de leur jeu Robbie Swifthand.

À droite se trouve une section d'un Tilemap sérialisé, composée de quatre tuiles. Les règles pour toutes les tuiles, y compris le type de tuiles utilisées, sont définies en haut du Tilemap. Chacune des tuiles suivantes indique des propriétés comme la tuile utilisée et sa position.

À gauche se trouve un Sprite, avec des composants Transform et Sprite Renderer.

Il est clair d'après cette comparaison combien de travail la sérialisation des Sprites doit accomplir. En particulier, la scène utilisant des Sprites a 370 000 lignes dans son fichier, tandis que la scène avec des Tilemaps a 30 000 lignes. Des tailles de projet et de dépôt plus petites entraînent des temps d'itération plus rapides et des flux de travail plus fluides.

Si vous souhaitez voir vos propres scènes sous forme de fichier texte, allez dans vos paramètres de l'Éditeur, activez le mode de sérialisation des ressources, cliquez sur Force Text, et ouvrez le fichier de scène .unity dans l'Éditeur de texte.

Unity - Réduire le nombre de collisionneurs avec Tilemap
COLLISIONNEUR TILEMAP 2D COMBINÉ AVEC COLLISIONNEUR COMPOSITE 2D

Moins de Colliders

Vous pouvez combiner le Collisionneur Tilemap 2D avec le Collisionneur Composite. Non seulement cela réduira le nombre de Collisionneurs et de Sprites, mais cela apporte également plus d'efficacité à votre production car il n'est pas nécessaire de reconstruire des formes de collision complexes chaque fois que vous apportez une modification. Le Collisionneur Composite s'en occupe.

Utilisations des Tilemaps
UN CAS D'UTILISATION POUR DES GAMEOBJECTS INDIVIDUELS AVEC LEUR SPRITE RENDERER PAR RAPPORT À UN TILEMAP

Réduction de la surcharge de rendu

Comme mentionné précédemment, chaque Sprite a un composant Sprite Renderer, et avoir plus de renderers nécessite plus de travail de la part du CPU, y compris le temps de préparation et de nettoyage pour le rendu. En utilisant des Tilemaps, vous aurez moins de composants Renderer, ce qui permet d'économiser du travail pour les CPU.

Coût de culling réduit

Plus d'une caméra dans votre scène signifie plus de renderers. Cela augmente le coût de culling.

Dans la vue de la caméra, il y a un coût de culling par renderer et par caméra. Chaque caméra doit effectuer des vérifications de culling sur chaque composant Renderer de la scène, donc si vous avez une configuration multi-caméras pour votre jeu, utiliser des Tilemaps vous aidera à réduire ce coût.

Réduire le nombre de requêtes par lots
LE DÉBOGUEUR DE FRAMES

Moins de requêtes par lots

Le regroupement consiste à rassembler toute la géométrie qui peut être dessinée, sans effectuer un autre appel SetPass. Le rendu de Tilemap regroupe la géométrie des Sprites en fonction de leur position. Le résultat est que le rendu de Tilemap envoie moins de maillages avec plus de géométrie au pipeline de rendu, par rapport au rendu de Sprite qui envoie plus de maillages avec moins de géométrie. Comme le tableau dans la section suivante le montre, la scène basée sur Tilemap a significativement moins de groupes.

Vous pouvez vérifier le regroupement en regardant le panneau des statistiques dans votre vue de jeu. Vous pouvez également utiliser le Débogueur de cadre pour déterminer pourquoi les éléments ne sont pas regroupés.

Scènes utilisant des sprites et des tableaux de tuiles

Un taux de rafraîchissement plus rapide

Pour atteindre 60 fps, chaque image peut prendre un maximum de 16 ms à rendre. Lorsque la scène d'échantillon a été profilée sur un ancien iPhone 7, la version basée sur Sprite avait 244 ms par image, tandis que la version Tilemap avait 13 ms par image.

Enfin, l'utilisation de la RAM était de 1,1 Go avec la scène basée sur Sprite, ce qui est trop pour les téléphones Android bas de gamme, par exemple. La scène basée sur Tilemap n'utilisait que 21 Mo de RAM, ce qui la rend adaptée à un plus large éventail d'appareils mobiles.

La comparaison ci-dessus montre la différence claire de performance entre les deux scènes.

Démo de Sprite Atlas
UTILISATION DE SPRITE ATLAS DANS DRAGON CRASHERS

Regroupez les Sprites avec Sprite Atlas

Sprite Atlas est l'outil de l'éditeur qui vous permet de regrouper vos Sprites dans des textures pour optimiser l'utilisation de la mémoire et les appels de dessin. Créez un actif Sprite Atlas qui inclut tous les sprites utilisés dans votre Tilemap afin qu'ils puissent être regroupés par le rendu de Tilemap en un seul appel de dessin (tant que tous les Sprites tiennent dans une seule texture).

Plus de ressources pour les créateurs de jeux 2D

Améliorez vos compétences 2D : Notre liste de lecture de blog fournit des conseils utiles pour le développement de jeux 2D.

Art de jeu 2D, animation et éclairage pour les artistes : Ce livre électronique gratuit fournit les meilleures pratiques pour tirer le meilleur parti de l'ensemble d'outils 2D de Unity.

Vue d'ensemble des outils 2D : Découvrez notre vue d'ensemble pratique de ce que Unity a à offrir aux développeurs 2D.

Modèles procéduraux avec Tilemaps – Partie I et Partie II : Ajoutez de la diversité à votre jeu avec la génération procédurale. Ces articles expliquent certains des algorithmes que vous pouvez utiliser avec Tilemap et RuleTile.