OVERLAY · PERFORMANCE
Overlay et performances
Un overlay permet de rajouter de l'affichage par dessus
Deux approches : injecté ou externe
Overlay injecté
Un overlay injecté s’exécute dans le processus du jeu et partage son espace mémoire. Il injecte son rendu dans le pipeline graphique utilisé par celui-ci, généralement autour de la présentation de la swapchain, sans fenêtre transparente séparée à placer au-dessus. Cette architecture a longtemps été privilégiée lorsque la composition de plusieurs fenêtres coûtait davantage.
Avantages
- Pas de fenêtre externe à synchroniser avec le jeu.
- Le rendu peut être intégré directement au pipeline d’affichage du jeu.
Limites
- L’overlay et le jeu partagent le même processus : un crash ou une surcharge peut affecter les deux.
- L’injection interagit avec le processus du jeu ; elle peut être refusée par l’anti-triche ou incompatible avec certains titres.
Sur les versions modernes de Windows, le Desktop Window Manager est conçu pour composer les fenêtres d’applications. Lorsqu’elles remplissent les conditions nécessaires, les fenêtres externes peuvent aussi bénéficier du Multi-Plane Overlay. Une fenêtre externe n’est donc plus systématiquement synonyme d’un coût de composition important, même si le résultat reste propre à chaque configuration.
Overlay externe
Un overlay externe est une fenêtre indépendante et transparente, affichée au-dessus du jeu. Elle peut être configurée pour laisser les entrées souris et clavier traverser vers le jeu et ne s’exécute pas dans son processus. Si elle ralentit ou s’arrête, le jeu reste dans un processus distinct.
Avantages
- Isolation du jeu : l’overlay ne partage ni son processus ni son espace mémoire.
- Pas d’injection dans le jeu, ce qui réduit les problèmes de compatibilité liés à cette technique.
Limites
- Il faut gérer le placement, la transparence, le focus et le passage des entrées au jeu.
- Windows doit présenter et composer une fenêtre supplémentaire ; le coût varie selon la configuration et le chemin d’affichage utilisé.
Le rôle du Multi-Plane Overlay (MPO)
Dans le chemin classique, le Desktop Window Manager (DWM) compose les différentes surfaces avant leur affichage. Avec le Multi-Plane Overlay (MPO), certaines surfaces peuvent être confiées à des plans matériels séparés, ce qui évite une partie de cette composition.
Le MPO dépend du GPU, du pilote, de Windows, de l’écran, du format et de la taille des surfaces, ainsi que du mode d’affichage utilisé. Un PC compatible ne garantit donc pas que MPO sera utilisé dans toutes les situations. L’impact reste lié à la configuration et au chemin de présentation actif.
Les informations graphiques de Windows, notamment via dxdiag, permettent de vérifier certaines capacités du système, mais elles ne garantissent pas que MPO est utilisé à un instant donné. PresentMon permet d’observer le chemin de présentation réellement utilisé pendant le jeu.
Dans VoidGlass
VoidGlass est un overlay externe. Lorsque la configuration le permet, Windows et le pilote peuvent présenter sa surface via le Multi-Plane Overlay. Il est basé sur une version adaptée de libGDX, un framework de jeux vidéo. L’idée est de ne redessiner que ce qui change et de ne charger que le nécessaire.
Mesures actuelles — overlay uniquement
Configuration de test
- CPU Intel Core i7-4790K — légende absolue, l’APM de Faker en 2014.
- GPU GTX 970 — elle a fait tourner Crysis 3. L’histoire ne retient que ses 0,5 Go de mémoire un peu lents.
- RAM 8 Go en DDR3 — mieux vaut oublier les onglets Chrome sur le deuxième écran.
- Carte mère MSI Z97 GAMING 5 — elle a vu tomber son pote le HDD, trois souris, deux claviers et deux écrans. Passage à Windows 11 impossible.
Mesures
- CPU en jeu moins de 1 %
- GPU en jeu moins de 1 %
- VRAM moins de 50 Mo
- RAM environ 100 à 120 Mo — réduction en cours
Ces mesures viennent de la configuration de test actuelle. Elles sont indicatives, pas une garantie pour chaque PC : le jeu, le GPU, le pilote, Windows et les réglages d’affichage influencent le résultat.
Ces chiffres concernent l’overlay seul. L’enregistreur consomme forcément des ressources supplémentaires pour la capture et l’encodage vidéo ; leur niveau dépend notamment des réglages choisis et du matériel.
Le type d’overlay ne fait pas tout. CPU, GPU et mémoire sont partagés avec le jeu : un overlay, injecté ou externe, peut gêner le jeu s’il fait trop de travail ou consomme trop de mémoire.
