LifePlay-Revival/Docs/Migration/etat/OPT/BC/BC-R11.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

10 KiB

BC-R11 : outils de mesure du pipeline (PresentMon, CapFrameX, CSV Profiler / PerfReportTool, Gauntlet, Tracy)

Date 2026-10-15, auteur Sonnet OPT0-R (fiche K0), 18 entrées : 12 établi, 2 estimé, 4 non vérifié. Pour un outil tiers, le README ou la page de release du dépôt officiel de l'outil compte comme source primaire (niveau établi pour l'outil) ; la compatibilité avec UE 5.8 ou une build Shipping reste « estimé » tant qu'aucun essai n'a eu lieu. Dates : les pages GitHub lues donnent jour et mois sans année ; lues le 2026-10-15.

id affirmation (1-2 phrases, sans copie de texte) source (URL, date, version UE) niveau (établi / estimé / non vérifié) application à LifePlay (système ou fichier) action proposée skill de destination
R11-01 PresentMon (Intel) est sous licence MIT ; c'est l'outil de mesure de présentation d'images (temps entre images, latence d'affichage) sur Windows, sans instrumentation du jeu. https://github.com/GameTechDev/PresentMon / lue 2026-10-15 / hors moteur établi Palier 1 : mesure de la build empaquetée sans modifier le jeu. Retenu pour le palier 1. lp-perf
R11-02 La dernière version stable est la 2.6.0 (21 septembre, année non affichée, page © 2026) ; la 2.5.0 est retirée pour un conflit de compatibilité, utiliser la 2.5.1 ou plus. Le README de l'application console cite la 2.3.1 en exemple. https://github.com/GameTechDev/PresentMon/releases / lue 2026-10-15 / hors moteur établi Choix de version à figer avant le premier essai ; noms de fichiers de l'archive non confirmés (liste des assets non lue). Noter la version et le MD5 au moment du téléchargement par l'utilisateur. lp-perf
R11-03 L'application console se pilote par options : cible (--process_name, --process_id), sortie (--output_file, --no_console_stats, --multi_csv), durée (--delay, --timed, --terminate_after_timed, --terminate_on_proc_exit), session (--session_name, --stop_existing_session, --terminate_existing_session), élévation (--restart_as_admin). https://raw.githubusercontent.com/GameTechDev/PresentMon/main/README-ConsoleApplication.md / lue 2026-10-15 / hors moteur établi Recette presentmon.md : capture bornée dans le temps, arrêt à la fin du processus. Vérifier chaque option avec l'aide de l'exécutable installé avant de la figer. lp-perf
R11-04 Le CSV contient notamment MsBetweenPresents, MsCPUBusy, MsGPUBusy, MsGPUTime, MsGPUWait, MsUntilDisplayed, DisplayedTime, PresentMode, AllowsTearing, DisplayLatency, CPUStartTime ; pas de colonne nommée FrameTime ni Dropped dans cette version du README. https://raw.githubusercontent.com/GameTechDev/PresentMon/main/README-ConsoleApplication.md / lue 2026-10-15 / hors moteur établi Verdict palier 1 : percentile 95 / 99 de MsBetweenPresents, nombre d'images au-dessus d'un seuil, MsGPUBusy comparé au temps d'image. Fixer les seuils d'après la base de l'alpha (LogStats, Indicateurs). lp-perf
R11-05 La capture demande l'appartenance au groupe « Performance Log Users » ou des droits administrateur ; sans cela, erreur d'accès refusé ou processus listés « ». https://github.com/GameTechDev/PresentMon / lue 2026-10-15 / hors moteur établi Prérequis du poste : un agent ne peut pas l'obtenir seul. Geste de l'utilisateur (ajout au groupe), à noter dans la recette. lp-perf
R11-06 PresentMon se déclare compatible DirectX, OpenGL et Vulkan ; la mesure passe par les événements Windows (ETW), ce qui laisse penser qu'elle fonctionne sur une build Shipping. Aucun essai sur UE 5.8 ni sur LifePlay. https://github.com/GameTechDev/PresentMon / lue 2026-10-15 / hors moteur estimé Build empaquetée du jeu, DX12 ou DX11. Marquer « à éprouver » dans la recette ; premier essai sur la build Development. lp-perf
R11-07 CapFrameX est construit sur PresentMon, version 1.9.1 citée ; les captures sont en JSON (CSV brut optionnel), le déclenchement se fait par raccourci clavier, et il embarque un serveur MCP local (port 1337 par défaut) pouvant lancer et arrêter une capture. Licence non affichée par la page. https://github.com/CXWorld/CapFrameX / lue 2026-10-15 / hors moteur non vérifié Alternative à PresentMon avec interface ; pas de mode console documenté. Ne pas retenir pour le banc sans humain ; garder pour l'analyse manuelle. lp-perf
R11-08 PerfReportTool (version 4.274.1) est livré avec UE 5.8 dans Engine\Binaries\DotNET\CsvTools ; entrée par -csv fichier ou -csvdir dossier ou -csvList, sortie par -o dossier ; options utiles : -reportType (types réels du ReportTypes.xml 5.8 : Default60fps, Default30fps, AI5, Memory ; l'aide cite flythrough / playthrough en exemple, absents du fichier), -writeSummaryCsv, -summaryTableOutputFormats html/csv/json, -noWatermarks, -minx / -maxx. Lève la lacune de R4-13 (syntaxe UE 4.24). Aide de l'exécutable local du moteur 5.8 (D:\Game\Launcher\Engine\UE_5.8\Engine\Binaries\DotNET\CsvTools\PerfreportTool.exe, lancé sans argument) / 2026-10-15 / UE 5.8 établi Palier 2 : rapport et table de synthèse à partir des CSV du CSV Profiler. Recette csvprofile.md ; type de rapport par défaut Default60fps (ReportTypes.xml:52). lp-perf
R11-09 PerfReportTool n'accepte pas -help : l'option est lue comme un nom de fichier et provoque une exception ; l'usage s'affiche lancé sans argument. Essai local sur l'exécutable 5.8 / 2026-10-15 / UE 5.8 établi Piège pour un agent qui cherche l'aide. Écrire dans la recette : lancer sans argument. lp-perf
R11-10 Le dossier CsvTools de 5.8 contient aussi CSVCollate, CSVFilter, CSVSplit, CsvConvert, CSVToSVG, les modèles ReportTypes.xml et ReportGraphs.xml, et des bibliothèques Horde / PerformanceTrends. Listage local du dossier moteur 5.8 / 2026-10-15 / UE 5.8 établi Boîte à outils déjà installée : rien à télécharger pour le palier 2. Citer les noms dans la recette. lp-perf
R11-11 Unreal Insights (UnrealInsights.exe) et le serveur de traces (UnrealTraceServer.exe) sont présents dans Engine\Binaries\Win64 de UE 5.8. Listage local du dossier moteur 5.8 / 2026-10-15 / UE 5.8 établi Alternative native à Tracy pour les traces de fonctions (voir R4-05 et suivantes). Essayer Insights avant d'intégrer Tracy. lp-perf
R11-12 Tracy est sous licence BSD à 3 clauses. https://raw.githubusercontent.com/wolfpld/tracy/master/LICENSE / lue 2026-10-15 / hors moteur établi Palier 3 : compatible avec un usage dans le dépôt privé de l'addon. Rien avant besoin réel. lp-perf
R11-13 La dernière version de Tracy est la 0.14.1 (22 août, année non affichée). Le dépôt contient des outils capture et csvexport ; la page ne décrit ni leur syntaxe ni les fichiers fournis pour Windows. https://github.com/wolfpld/tracy/releases / lue 2026-10-15 / hors moteur non vérifié Syntaxe de capture hors ligne non confirmée : à lire dans le manuel (tracy.pdf) avant la recette. La recette tracy.md reste un squelette. lp-perf
R11-14 Tracy fonctionne en client (programme profilé) et serveur (interface) reliés par socket TCP. Résultat de recherche seul, page non ouverte. 267fadbe6f/docs/developers/developing_iree/profiling_with_tracy.md / date inconnue / hors moteur non vérifié Capture à distance ou hors ligne à confirmer. Lire le manuel officiel. lp-perf
R11-15 UE expose l'interface FExternalProfiler pour brancher un profileur externe ; aucun plugin Tracy officiel d'Epic n'a été trouvé. L'intégration de Tracy demande d'ajouter ses sources au projet, donc un build C++. Billet de blog non ouvert (403). https://www.rick.me.uk/posts/2024/12/cpp-profiling-in-unreal-engine-5/ / 2024-12 / UE 5.x non vérifié Coût du palier 3 : BUILD-GO et modification de code. Garder Tracy « à la demande » ; préférer Insights tant que possible. lp-perf
R11-16 Les notes de version 5.6 à 5.8 s'ouvrent avec le paramètre ?application_version=5.x ; sans lui, les URL 5.6 et 5.7 redirigent vers 5.8. Le texte de la page se lit par script dans Chrome. https://dev.epicgames.com/documentation/unreal-engine/unreal-engine-5-7-release-notes?application_version=5.7 / lue 2026-10-15 / UE 5.6 à 5.8 établi Méthode de recherche des agents (WebFetch ne rend pas ces pages). Mettre dans la recette de recherche de la BC. lp-perf
R11-17 WITH_AUTOMATION_TESTS vaut WITH_DEV_AUTOMATION_TESTS ou WITH_PERF_AUTOMATION_TESTS (AutomationTest.h:63-65) ; UnrealBuildTool compile les tests sauf en configuration Test ou Shipping (UEBuildTarget.cs:6316-6332), avec les surcharges bForceCompileDevelopmentAutomationTests, bForceCompilePerformanceAutomationTests et bForceDisableAutomationTests. Lève la lacune de BC-R3 : une build empaquetée Development embarque les tests, Test et Shipping non. Code local du moteur 5.8 : Engine/Source/Runtime/Core/Public/Misc/AutomationTest.h et Engine/Source/Programs/UnrealBuildTool/Configuration/UEBuildTarget.cs / lu 2026-10-15 / UE 5.8 établi Build empaquetée de LifePlay : choisir Development pour un banc Gauntlet. Prévoir une cible Development empaquetée pour P2b. lp-autotest
R11-18 UE.TargetAutomation exige un éditeur hôte qui pilote le client empaqueté par TcpMessaging (UE.Automation.cs:423-460, 272, 276, relevé par la fiche DOC-Gauntlet) ; nuance de R3-12. OPT/DOC/DOC-Gauntlet.md (code local C# du moteur 5.8) / 2026-10-15 / UE 5.8 estimé Banc P2b : l'éditeur doit tourner pendant l'essai. Vérifier les lignes citées avant l'essai. lp-autotest

Lacunes et doutes

  • RenderDoc (option) : non instruit, faute de budget.
  • Gauntlet : voir R3-12 et R3-101 ; aucun essai 5.8 empaqueté.
  • PresentMon : option --terminate_on_proc_exit et noms de colonnes à revérifier sur l'exécutable installé (le README peut dépasser la version installée).
  • Tracy : syntaxe de capture, version utilisable avec UE 5.8 et coût de l'intégration non établis.
  • Seuils de verdict : aucun seuil standard trouvé ; à fixer sur la base de l'alpha (voir OPT0-PIPELINE.md).