···816816 GZ_PROFILE_END();
817817 ```
818818819819- ]
819819+ ],
820820)
821821822822// On peut créer plusieurs segments en parallèle quand le programme possède plusieurs threads:
823823-//
823823+//
824824// ```cpp
825825// GZ_PROFILE_THREAD_NAME("Nom du thread");
826826// ```
827827828828#figure(
829829 caption: [Profiling d'une simulation avec _gz-unitree_],
830830- image("./profiler-many-ticks.png")
830830+ image("./profiler-many-ticks.png"),
831831)
832832833833Chaque groupe de segment correspond à un cycle de simulation.
···845845 [Tick+CRC \ #dur(2)],
846846 [Publish state \ #dur(3)],
847847 [Update cmd. \ #dur(4)]
848848- )
848848+ ),
849849)
850850851851···857857858858Quelques mesures ont été tentées pour réduire le temps nécéssaire à l'envoi d'un message DDS:
859859860860-/ Restreindre DDS à `localhost`: Il est possible que DDS envoie les messages en mode "broadcast", c'est-à-dire à
860860+/ Restreindre DDS à `localhost`: Il est possible que DDS envoie les messages en mode "broadcast", c'est-à-dire à
861861/ Déplacer dans un autre thread: C'est ce qui a motivé la désynchronisation du thread "LowStateWriter" (cf @send-lowstate)
862862/ Ajuster la fréquence d'envoi: Une fois `LowStateWriter` déplacé dans un thread indépendant, on peut ajuster la fréquence d'envoi, le thread étant récurrant#footnote[Créé avec `CreateRecurrentThreadEx`]
863863···961961 - name: Checkout repository
962962 uses: actions/checkout@v5
963963 ...
964964- ```
964964+ ```,
965965)
966966967967Et lancer la simulation et l'enregistrement vidéo.