<div dir="ltr">Thanks for the tip! I was wondering about those, but like I said, bit of a newbie. Here is my new graph:<br><img src="cid:ii_l25qlexh0" alt="debug_session(sans extra converts).png" width="472" height="37"><br><div>Seems to be working still which is always a good thing! <br>I'm all for more CPU optimizations (it's still spinning up almost 40 threads, not sure if that's a lot or normal for this, honestly), but I would also love some memory optimizations as well! After those changes each stream is taking up about 850M of RAM while running. Again this may be normal for the task, but a) seems like a lot to me and b) I have no frame of reference.<br>Thanks again, Nicolas!</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 18, 2022 at 8:14 AM Nicolas Dufresne <<a href="mailto:nicolas@ndufresne.ca">nicolas@ndufresne.ca</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Le dimanche 17 avril 2022 à 03:29 -0500, Matt Clark via gstreamer-devel a<br>
écrit :<br>
> I've gotten my project mostly to the stable point of working how I expect it,<br>
> however I can't help but feel that it's nowhere near optimal. I have made it<br>
> work and now I wish to make it right. Any insight be it pointers or<br>
> instructions would be appreciated, as this is my first service/application<br>
> using gstreamer and I'm still very green with it. <br>
<br>
Just notice from the graph one low hanging fruit. You have 3 color conversion<br>
points, 1 before freeze, one after and one inside compositor. The output of<br>
compositor is I420, you can greatly optimize your pipeline by adding a caps<br>
filter to force conversion before the image freeze. This way, you convert the<br>
input to I420 only once. Other similar optimization in relation to the usage of<br>
imagefreeze could happen.<br>
<br>
> The basic explanation of the system is that it queries a variable number of<br>
> web endpoints for dynamically created pngs and then composes those together<br>
> into an HLS stream that's then used by a single client. <br>
> Here is a PNG of the pipeline graph (I'll also attach the raw SVG as well in<br>
> case you want to dig into it):<br>
> debug_session.png<br>
> <br>
> TL;DR: Above is my pipeline, please help me make it the best it can be!<br>
> Thanks to any and all in advance!<br>
> -Matt<br>
<br>
</blockquote></div>