Les compromis de performance qu'on ne vous dit pas

On m'avait prévenu que l'optimisation était importante. Personne ne m'avait dit qu'elle deviendrait mon obsession quotidienne pendant six mois. Janvier 2025 m'a forcé à repenser complètement ma façon d'aborder le contenu 3D.

Le premier choc: découvrir que ma scène magnifiquement détaillée tournait à 22 fps sur du matériel milieu de gamme. Pas 55 ou 45, non, 22. Chaque arbre contenait 15000 polygones parce que je trouvais ça joli. Multiplié par 200 arbres, le moteur suffoquait littéralement.

La solution évidente serait de tout simplifier brutalement, mais ce n'est pas comme ça que ça fonctionne vraiment. J'ai appris à créer des niveaux de détail progressifs. Mes arbres proches gardent leurs 15000 polygones, ceux à moyenne distance tombent à 3000, et ceux au loin utilisent 800 polygones avec des textures compensant les détails perdus.

Le batching m'a sauvé la vie une fois compris. Au lieu de 500 objets individuels, regrouper les éléments statiques en quelques gros meshes a divisé les draw calls par dix. Contre-intuitif au début, parce qu'on vous apprend la modularité, mais les performances ne négocient pas.

Les ombres en temps réel représentaient 40 pour cent de mon budget de rendu. Quarante. J'ai commencé à mélanger ombres dynamiques pour les éléments proches du joueur et lightmaps précalculées pour tout le reste. Visuellement quasi identique, performance doublée immédiatement.

La leçon brutale: vos références visuelles viennent souvent de jeux AAA avec des budgets de développement colossaux. Comparer votre projet indie à ça vous condamne à l'échec. J'ai appris à établir mes propres standards basés sur ce que mon moteur peut réellement supporter, puis à pousser ces limites intelligemment plutôt qu'aveuglément.