Author Topic: Rendering at 40fps slowwww....PC Upgrade Suggestions?  (Read 2453 times)

Offline nmiller0113

  • Sr. Member
  • ****
  • Posts: 256
    • View Profile
    • The Miller Lights
Rendering at 40fps slowwww....PC Upgrade Suggestions?
« on: October 23, 2018, 08:55:37 AM »
I'm looking at getting a new sequencing computer (PC) as my current one struggles to render, even a 3 minute song, when I've got a lot of effects in it.  I'm looking to folks out there who could give me some specs for a machine...cpu, memory (and type), ssd....etc.

I don't want to overbuild it since this computer will be used specifically for sequencing and to solve my rendering wait time woes.  I also don't know, realistically, if I were to build the most powerful PC out there, how much of the resources could xLights really take advantage of even for the rendering needs of a long and complex 40fps sequence...I'm guessing there's a tipping point for xLights ability to use resources.  I'd like to build to that :)

Offline Ebuechner

  • Hero Member
  • *****
  • Posts: 750
    • View Profile
Re: Rendering at 40fps slowwww....PC Upgrade Suggestions?
« Reply #1 on: October 23, 2018, 09:15:28 AM »
Machine with an Intel I-5 or up or an AMD ryzen 5 or more.
Both processors have multi-threading that xlights can take advantage of.

Offline keithsw1111

  • Administrator
  • Hero Member
  • *****
  • Posts: 2733
    • View Profile
    • Kellyville Christmas Lights
Re: Rendering at 40fps slowwww....PC Upgrade Suggestions?
« Reply #2 on: October 23, 2018, 11:26:06 AM »
Depending on how you sequence xlights will smash every core you can give it when rendering. Particularly if you mainly sequence at the model level.

Memory is less of a factor. As long as your memory is 4-5 times the size of your fseq file it should be more than enough.

Drive speed matters so have a fast disk where your show folder is. If it is ssd make sure you have a good amount of free space.


Sent from my iPhone using Tapatalk

Offline nmiller0113

  • Sr. Member
  • ****
  • Posts: 256
    • View Profile
    • The Miller Lights
Re: Rendering at 40fps slowwww....PC Upgrade Suggestions?
« Reply #3 on: October 23, 2018, 11:40:38 AM »
Depending on how you sequence xlights will smash every core you can give it when rendering. Particularly if you mainly sequence at the model level.

Thanks a lot Keith.  As for the smashing of the core, I haven't seen either my mac or pc ever get core saturation like that on any of my rendering...most of the time it never hits more than 40% on my Windows 10 machine across 2 cores.  Is there some setting I need to tweak to get it to better utilize available resources?  I'd be happy to show what I mean in a video if needed...but maybe it's just a setting I'm missing.

Offline Gilrock

  • Supporting Member
  • Hero Member
  • *
  • Posts: 6946
    • View Profile
Re: Rendering at 40fps slowwww....PC Upgrade Suggestions?
« Reply #4 on: October 23, 2018, 11:57:45 AM »
We spawn at least 20 render threads so if you have the cores it will use them.  But a lot depends on how you arrange things.  If you have a lot of dependencies then xLights has to render serially because it must render model group x before models within that groups.  The more groups you use with overlapping models the more serial the rendering becomes.

Offline keithsw1111

  • Administrator
  • Hero Member
  • *****
  • Posts: 2733
    • View Profile
    • Kellyville Christmas Lights
Re: Rendering at 40fps slowwww....PC Upgrade Suggestions?
« Reply #5 on: October 23, 2018, 12:20:46 PM »
Like I said it depends on how you sequence. I have seen a 16 core machine with every core at 100%.


Sent from my iPhone using Tapatalk

Offline nmiller0113

  • Sr. Member
  • ****
  • Posts: 256
    • View Profile
    • The Miller Lights
Re: Rendering at 40fps slowwww....PC Upgrade Suggestions?
« Reply #6 on: October 23, 2018, 12:59:34 PM »
We spawn at least 20 render threads so if you have the cores it will use them.  But a lot depends on how you arrange things.  If you have a lot of dependencies then xLights has to render serially because it must render model group x before models within that groups.  The more groups you use with overlapping models the more serial the rendering becomes.
Thanks Gil!  Regarding dependencies, so if I’m doing a lot sequencing of groups of multiple models I’m only able to use one thread against that group, my my resource utilization will be limited?  Sorry trying to better understand as I’ve done a lot of sequencing using only groups some times depending on my needs. Would you suggest not using groups and only using models?  Because I can do that simply and just copy effects. Any other dependencies you can name?  Sorry. Again, I want to better understand so I can better reach 100% cpu utilization on all my cores as Keith stated he does.

Gil or Keith, any best practices or other tips you can share in how achieve that would be so helpful.

If I can max out all my cpu’s and make use of render caching, I may not need a need machine after all, saving me potentially $$$$’s. If so, I owe ya both a pint or more and a large xLights donation!!  What am I saying, I owe ya both that anyway for all of your amazing contributions and time!!  Thanks again!

Offline Gilrock

  • Supporting Member
  • Hero Member
  • *
  • Posts: 6946
    • View Profile
Re: Rendering at 40fps slowwww....PC Upgrade Suggestions?
« Reply #7 on: October 23, 2018, 01:19:53 PM »
Just double-click the render status bar and it will open up a dialog and you can see the render progress of everything.  That will show you what's happening.  If a model has a green bar progressing then it has a thread so if you see 5 models making progress then there are 5 threads doing that work.  You might see everything finish and then the rest of the time is all spent on one big model like a matrix.

Offline nmiller0113

  • Sr. Member
  • ****
  • Posts: 256
    • View Profile
    • The Miller Lights
Re: Rendering at 40fps slowwww....PC Upgrade Suggestions?
« Reply #8 on: October 23, 2018, 02:12:40 PM »
Just double-click the render status bar and it will open up a dialog and you can see the render progress of everything.  That will show you what's happening.  If a model has a green bar progressing then it has a thread so if you see 5 models making progress then there are 5 threads doing that work.  You might see everything finish and then the rest of the time is all spent on one big model like a matrix.

I had no idea I could even do that :) Good to know.

Now regarding the model groups being a dependency, can you explain further how serially they get in the way of doing a model group before a model rather than handling a model group and model with two different threads simultaneously.  Trying to understand how the serial issue causes a bottleneck in resource assignment.  Really appreciate your technical input and insight!

Offline jnealand

  • Hero Member
  • *****
  • Posts: 1421
    • View Profile
Re: Rendering at 40fps slowwww....PC Upgrade Suggestions?
« Reply #9 on: October 23, 2018, 02:19:10 PM »
You could always move to 20fps.  You might notice a difference but I would bet that over 90% of your viewers would not notice and even if they did would not care.

Just my 2 cents.
Jim Nealand
Kennesaw, GA

Offline nmiller0113

  • Sr. Member
  • ****
  • Posts: 256
    • View Profile
    • The Miller Lights
Re: Rendering at 40fps slowwww....PC Upgrade Suggestions?
« Reply #10 on: October 23, 2018, 02:44:57 PM »
You could always move to 20fps.  You might notice a difference but I would bet that over 90% of your viewers would not notice and even if they did would not care.

Just my 2 cents.

I agree Jim :)

It's 70% for me and the perfectionist in me.  I like the ability to get more detailed in where my sequencing of effects hits as well.  The other part is I like how much more fluid it the sequences look.  Yes, only I know that because only I know how my sequences look at 40ms relative to how they looked at 20ms over the years :)

Offline keithsw1111

  • Administrator
  • Hero Member
  • *****
  • Posts: 2733
    • View Profile
    • Kellyville Christmas Lights
Re: Rendering at 40fps slowwww....PC Upgrade Suggestions?
« Reply #11 on: October 23, 2018, 03:11:34 PM »
The reason groups cause problems is because they are rendering to the same channels (shadow models have similar problems). Because they write to the same channels we have to ensure they write in the correct order otherwise you will get odd output.

If you can keep all of the models you sequence against with no common channels then rendering threads all run 100% independently of each other.

Offline nmiller0113

  • Sr. Member
  • ****
  • Posts: 256
    • View Profile
    • The Miller Lights
Re: Rendering at 40fps slowwww....PC Upgrade Suggestions?
« Reply #12 on: October 23, 2018, 03:42:24 PM »
The reason groups cause problems is because they are rendering to the same channels (shadow models have similar problems). Because they write to the same channels we have to ensure they write in the correct order otherwise you will get odd output.

If you can keep all of the models you sequence against with no common channels then rendering threads all run 100% independently of each other.

Ahhhh...makes sense....I think.  For the record, none of my models share channels...but what is a shadow model?
 So if I have an effect in a model group and that model is also placed as a single element in the sequence, without overlapping effects, will that be ok or will the fact that it exists within two places, group and independently, still be a problem?

Also, regarding groups, without being able to test this right now from work so I'm unable to know for sure, but my question is around how threads are assigned.  Would only a single thread be assigned to a model group or does it assign multiple threads to a model group based on what is inside of it?  Or, if I want better thread distribution should I not use model groups?

Sorry for all the questions...again, I appreciate you taking the time to answer, I want to really understand it under the hood in order to make the best use of the product.

Offline Gilrock

  • Supporting Member
  • Hero Member
  • *
  • Posts: 6946
    • View Profile
Re: Rendering at 40fps slowwww....PC Upgrade Suggestions?
« Reply #13 on: October 23, 2018, 05:57:57 PM »
Its a fairly simple concept.  If you have a group 1 that contains models A, B, and C and you place a Butterfly across the group for the whole sequence but then for 5 second model A has a Spirals effect then that Spirals effect cannot be rendered until the Butterfly is rendered first on the channels.  I've never seen anyone try to change the way they sequence to make rendering faster.  If you make groups then you usually have a reason for wanting the effects to look that way.  Maybe you're PC is just slow.  If you share a sequence we can tell you how long it takes for us to render it.

Offline nmiller0113

  • Sr. Member
  • ****
  • Posts: 256
    • View Profile
    • The Miller Lights
Re: Rendering at 40fps slowwww....PC Upgrade Suggestions?
« Reply #14 on: October 23, 2018, 06:16:24 PM »
Its a fairly simple concept.  If you have a group 1 that contains models A, B, and C and you place a Butterfly across the group for the whole sequence but then for 5 second model A has a Spirals effect then that Spirals effect cannot be rendered until the Butterfly is rendered first on the channels.  I've never seen anyone try to change the way they sequence to make rendering faster.  If you make groups then you usually have a reason for wanting the effects to look that way.  Maybe you're PC is just slow.  If you share a sequence we can tell you how long it takes for us to render it.
Makes sense now.  In your example, you mentioned the model group had an effect through the whole sequence and then 5 seconds for a single model.  Just to be clear, is it time based then...meaning does it render from left to right in the timeline?  So if I had that model group you mentioned with the butterfly effect but for only the first 30 seconds of the sequence and then that model you mentioned for the latter 30 seconds of the sequence, there would not be conflict in resource usage?

And asking once more since it was buried in my last *long* reply, are threads limited to 1 max per model or model group...meaning I couldn't have two threads handling a single model or model group?

As for my computer, naw, not that slow.  I just tend to OCD on things, if you couldn't tell, and I like to make good use of my resources rather than paying $1.5k for a new nicer computer only to find out that I wouldn't get any value in return.  But also, at this point, you've piqued my interest into how things run under the covers...sorry again for so many questions.

My current computer is 4 to 5 year old i5 2.33ghz 2 core computer with 16gb memory and 256g ssd.  Should be sufficient...but this is also the reason I started this thread.