{"id":1106,"date":"2025-09-02T20:28:31","date_gmt":"2025-09-03T00:28:31","guid":{"rendered":"https:\/\/willkolb.com\/?p=1106"},"modified":"2025-09-02T20:28:31","modified_gmt":"2025-09-03T00:28:31","slug":"side-profiler","status":"publish","type":"post","link":"https:\/\/willkolb.com\/?p=1106","title":{"rendered":"Side Profile(r)"},"content":{"rendered":"\n<p>I closed the &#8220;Game Loop&#8221; by adding announcements to the hud and creating a &#8220;OnGameModeAnnouncement&#8221; event that huds can bind to:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"501\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-5-1024x501.png\" alt=\"\" class=\"wp-image-1107\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-5-1024x501.png 1024w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-5-300x147.png 300w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-5-768x375.png 768w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-5-1536x751.png 1536w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-5-500x244.png 500w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-5.png 1878w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The look isn&#8217;t ideal but I&#8217;m working through it.<\/p>\n\n\n\n<p>In addition when I flipped things to &#8220;Standard&#8221; game mode (which has pretty much all of the bot types) my fps went from like 60 to 20 very fast. On my machine thats pretty bad. I went through the profiler (<a href=\"https:\/\/dev.epicgames.com\/documentation\/en-us\/unreal-engine\/unreal-insights-in-unreal-engine\">https:\/\/dev.epicgames.com\/documentation\/en-us\/unreal-engine\/unreal-insights-in-unreal-engine<\/a>) and got these results<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"575\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-6-1024x575.png\" alt=\"\" class=\"wp-image-1108\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-6-1024x575.png 1024w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-6-300x168.png 300w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-6-768x431.png 768w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-6-1536x863.png 1536w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-6-500x281.png 500w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-6.png 1916w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The top is the important part (lower is better)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"984\" height=\"125\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-7.png\" alt=\"\" class=\"wp-image-1109\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-7.png 984w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-7-300x38.png 300w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-7-768x98.png 768w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-7-500x64.png 500w\" sizes=\"auto, (max-width: 984px) 100vw, 984px\" \/><\/figure>\n\n\n\n<p>The red portion is steadily growing as the game goes on, then once I kill the death box you see it viciously drop to zero because it cleaned up all of the game time actors.<\/p>\n\n\n\n<p>Looking at the timing data you can see that the large majority of the time is done handling the Lazer for the rocketeer, skeletal mesh of the patrol bot, the Tick function and the Hud.<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"675\" height=\"939\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-8.png\" alt=\"\" class=\"wp-image-1110\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-8.png 675w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-8-216x300.png 216w\" sizes=\"auto, (max-width: 675px) 100vw, 675px\" \/><\/figure>\n\n\n\n<p>I can immediately get 11.7ms back by just moving the Rocketeer_Laser from cpu to gpu:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"690\" height=\"150\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-9.png\" alt=\"\" class=\"wp-image-1112\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-9.png 690w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-9-300x65.png 300w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-9-500x109.png 500w\" sizes=\"auto, (max-width: 690px) 100vw, 690px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"742\" height=\"171\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-10.png\" alt=\"\" class=\"wp-image-1113\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-10.png 742w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-10-300x69.png 300w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/09\/image-10-500x115.png 500w\" sizes=\"auto, (max-width: 742px) 100vw, 742px\" \/><\/figure>\n\n\n\n<p>With that small fix I went from 19 fps at max events to about 35 fps. However, I should be getting around 100 fps with my computer most of the time if  the game (aka. I if I did) isn&#8217;t doing something dumb (which it probably is)<br><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>i7 3700k<\/li>\n\n\n\n<li>ASUS prime z790-p<\/li>\n\n\n\n<li>32 gig of DDR5 @ 2400 MHz<\/li>\n\n\n\n<li>NVIDIA RTX 4090 24Gb of VRAM<\/li>\n<\/ul>\n\n\n\n<p>The character models seem to be high on the list still, which I expected so I&#8217;ll need to remake these bots again. I feel like I should go about this differently this time and try to get some control rig action going, which I feel would be much more optimized and would hit my goal of getting hit reactions in. Also A low poly-ier feel might add to the experience? In addition moving stuff OUT of tick functions might be a smart move, I have things in there that really shouldn&#8217;t be and should be pushed to async events. Work for later this week.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I closed the &#8220;Game Loop&#8221; by adding announcements to the hud and creating a &#8220;OnGameModeAnnouncement&#8221; event that huds can bind to: The look isn&#8217;t ideal but I&#8217;m working through it. In addition when I flipped things to &#8220;Standard&#8221; game mode (which has pretty much all of the bot types) my fps went from like 60 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1109,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,9],"tags":[],"class_list":["post-1106","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gamedev","category-unreal"],"_links":{"self":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts\/1106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1106"}],"version-history":[{"count":2,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts\/1106\/revisions"}],"predecessor-version":[{"id":1114,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts\/1106\/revisions\/1114"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/media\/1109"}],"wp:attachment":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}