Jump to: Board index » General » Fusion

Is there anyway to reduce RAM usage?

Learn about 3D compositing, animation, broadcast design and VFX workflows.
  • Author
  • Message
Offline

Tyler Wilson

  • Posts: 23
  • Joined: Fri Jul 14, 2017 8:26 am

Is there anyway to reduce RAM usage?

PostThu Aug 03, 2017 7:54 am

When rendering and exporting a scene, Fusion uses all 16GB of my RAM. The obvious solution is to buy more RAM, but since it will take me a little while to save up the funds for more RAM, is there anything I could do in the meantime to decrease RAM usage in Fusion when rendering?




For example, when opening the preference tab, under "global and default settings," and selecting memory, my settings are as follows;


CACHING LIMITS;
Limit caching to: 60% of physical RAM
Automatically adjust in low memory situations: enabled
Leave at least: 200 MBytes

INTERACTIVE RENDER;
Simultaneous branching: disabled

FINAL RENDER;
Render: 2 frames at once
Simultaneous branching: disabled


Assuming I'm correct that when adjusting some of the values in this tab, RAM usage will decrease, what would be your suggestions for adjusting these values for my current situation?
Offline

Sander de Regt

  • Posts: 4136
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: Is there anyway to reduce RAM usage?

PostThu Aug 03, 2017 11:06 am

Why would you want it to use less RAM? If that's what you got, use all of it. As long as your computer doesn't start using a pagefile, there is no need to use less.
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline

Tyler Wilson

  • Posts: 23
  • Joined: Fri Jul 14, 2017 8:26 am

Re: Is there anyway to reduce RAM usage?

PostThu Aug 03, 2017 6:58 pm

Because currently I am unable to render my scene without Fusion crashing due to using too much RAM, exactly half way through the render, when the particles appear, the software will stop responding and no matter how long I give it to finish rendering it never finishes and I just have to close out of it.
Offline

Sander de Regt

  • Posts: 4136
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: Is there anyway to reduce RAM usage?

PostThu Aug 03, 2017 7:15 pm

How many particles - and what kind - are we talking about and at what resolution?
If it's too ambitious it might technically impossible to fit inside the memory you have available.
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline

Tyler Wilson

  • Posts: 23
  • Joined: Fri Jul 14, 2017 8:26 am

Re: Is there anyway to reduce RAM usage?

PostThu Aug 03, 2017 7:27 pm

I'll provide the code and image for it below if you wanna look at it and see if that's the case.

Code: Select all
{
   Tools = ordered() {
      Loader2_1 = Loader {
         Clips = {
            Clip {
               ID = "Clip1",
               Filename = "C:\\Users\\fanta\\Desktop\\ANIMATION CRAP\\TEXTURES\\HIGH DEF (walls, floor, etc)\\STRIPS\\WATER blue.jpeg",
               FormatID = "JpegFormat",
               StartFrame = -1,
               LengthSetManually = true,
               TrimIn = 0,
               TrimOut = 0,
               ExtendFirst = 0,
               ExtendLast = 0,
               Loop = 0,
               AspectMode = 0,
               Depth = 0,
               TimeCode = 0,
               GlobalStart = 0,
               GlobalEnd = 0
            }
         },
         Inputs = {
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
         },
         ViewInfo = OperatorInfo { Pos = { 4923.06, -148.089 } },
      },
      Shadow1_2_1_1_1_1_1_2_1_3_1 = Shadow {
         Inputs = {
            Softness = Input { Value = 0.01, },
            Input = Input {
               SourceOp = "Loader2_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 4922.38, -175.089 } },
      },
      pEmitter2 = pEmitter {
         ID = 36952,
         Inputs = {
            Number = Input { Value = 20000, },
            Style = Input { Value = FuID { "ParticleStyleBitmap" }, },
            Region = Input { Value = FuID { "CubeRgn" }, },
            ["ParticleStyle.ColorOverLife"] = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 1, 1, 1, 1 }
                  }
               },
            },
            ["ParticleStyle.SizeControls"] = Input { Value = 1, },
            ["ParticleStyle.Size"] = Input { Value = 0.0005, },
            ["ParticleStyle.SizeVariance"] = Input { Value = 0.0005, },
            ["ParticleStyle.SizeOverLife"] = Input {
               SourceOp = "pEmitter2SizeoverLife",
               Source = "Value",
            },
            ["ParticleStyle.BlurOverLife"] = Input {
               SourceOp = "pEmitter2BluroverLife2D",
               Source = "Value",
            },
            ["ParticleStyleBitmap.Animate"] = Input { Value = 2, },
            ["ParticleStyleBitmap.DropToolsHere"] = Input {
               SourceOp = "Shadow1_2_1_1_1_1_1_2_1_3_1",
               Source = "Output",
            },
            ["CubeRgn.Translate.X"] = Input { Value = 0.295986636311247, },
            ["CubeRgn.Translate.Y"] = Input { Value = 1.3818113699903, },
            ["CubeRgn.Translate.Z"] = Input { Value = 0.961283456458785, },
            ["CubeRgn.Rotate.X"] = Input { Value = -90, },
            ["CubeRgn.Width"] = Input { Value = 5, },
            ["CubeRgn.Height"] = Input { Value = 5, },
         },
         ViewInfo = OperatorInfo { Pos = { 4922.75, -200.382 } },
      },
      pEmitter2SizeoverLife = LUTBezier {
         KeyColorSplines = {
            [0] = {
               [0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
               [1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
            }
         },
         SplineColor = { Red = 192, Green = 128, Blue = 64 },
      },
      pEmitter2BluroverLife2D = LUTBezier {
         KeyColorSplines = {
            [0] = {
               [0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
               [1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
            }
         },
         SplineColor = { Red = 192, Green = 128, Blue = 64 },
      },
      pDirectionalForce1 = pDirectionalForce {
         ID = 36957,
         Inputs = {
            Input = Input {
               SourceOp = "pEmitter2",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 4921.64, -225.033 } },
      },
      pBounce1 = pBounce {
         ID = 36959,
         Inputs = {
            ["LineRgn.Start.Z"] = Input { Value = -0.89928604364496, },
            ["LineRgn.Start.Y"] = Input { Value = 0.204298405960036, },
            ["BezierRgn.Polyline"] = Input {
               Value = Polyline {
               },
            },
            ["LineRgn.End.Z"] = Input { Value = -0.541761327192285, },
            Input = Input {
               SourceOp = "pDirectionalForce1",
               Source = "Output",
            },
            Elasticity = Input { Value = 0.1, },
            Variance = Input { Value = 0.1, },
            Region = Input { Value = FuID { "RectRgn" }, },
            ["RectRgn.Translate.Y"] = Input { Value = 0.01, },
            ["RectRgn.Rotate.X"] = Input { Value = -90, },
            ["RectRgn.Width"] = Input { Value = 50, },
            ["RectRgn.Height"] = Input { Value = 50, }
         },
         ViewInfo = OperatorInfo { Pos = { 4920.31, -250.861 } },
      },
      pKill1 = pKill {
         ID = 36961,
         Inputs = {
            Input = Input {
               SourceOp = "pBounce1",
               Source = "Output",
            },
            Probability = Input { Value = 0.05, },
         },
         ViewInfo = OperatorInfo { Pos = { 4922, -276.561 } },
      },
      RAIN = pRender {
         CtrlWZoom = false,
         NameSet = true,
         Inputs = {
            ["_MotionBlurWarning"] = Input { Disabled = true, },
            GlobalOut = Input { Value = 90, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            OutputMode = Input { Disabled = true, },
            IntegrationMethod = Input { Value = FuID { "RK4" }, },
            ["MaterialID.MaterialID"] = Input { Value = 4, },
            ["ObjectID.ObjectID"] = Input { Value = 4, },
            Input = Input {
               SourceOp = "pKill1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 4920.46, -390.215 } },
      }
   }
}


Water texture: https://drive.google.com/open?id=0B_-4w ... lR0bTdYLTg
Offline

Sander de Regt

  • Posts: 4136
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: Is there anyway to reduce RAM usage?

PostThu Aug 03, 2017 7:59 pm

This is a pretty weird setup, to be honest. I'm not sure what you're trying to achieve.
You wrote 'when the particles appear', so I take it, that it's part of a bigger thing?

The water texture is HUGE, the shadow node doesn't do anything, because there is no alpha channel in your jpeg, then you make the particles really, really small, so you don't benefit from the original resolution.
I'm also wondering what the 'kill' tool is for? As it is set up right now it kills particles randomly all through your simulation.

How do you render it? In 3d with a Renderer3d? Some more info will be appreciated.
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline

Tyler Wilson

  • Posts: 23
  • Joined: Fri Jul 14, 2017 8:26 am

Re: Is there anyway to reduce RAM usage?

PostFri Aug 04, 2017 1:22 am

Yes, it's part of the comp I showed you before. I'm just trying to achieve the effect of small blue cardboard falling from above to resemble rain, and have the rain bounce off the ground and after landing back on the ground stay there for half a second or less and then disappear.

Is there anyway I could add an alpha channel to the JPEG?

And so I take it reducing the images resolution will help some.

The kill tool is so to make the rain disappear after having landed on the ground for a half second or less, am I going about that wrong? Is the kill not necessary because there's a setting in one of the other nodes that I missed, or did I just set up the kill improperly?

And yes, I am rendering it in 3D with render3D. Please let me know any and all information I can provide for you to better help me.
Offline

Sander de Regt

  • Posts: 4136
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: Is there anyway to reduce RAM usage?

PostFri Aug 04, 2017 6:02 am

Tyler Wilson wrote:Yes, it's part of the comp I showed you before. I'm just trying to achieve the effect of small blue cardboard falling from above to resemble rain, and have the rain bounce off the ground and after landing back on the ground stay there for half a second or less and then disappear.


Is there anyway I could add an alpha channel to the JPEG?


Various. Use f.e. a matte control tool with an inverted garbage matte (a polyline or a rectangle or whatever shape you like)

What is the purpose of the shadow tool?

And so I take it reducing the images resolution will help some.

I think it will. At the very least, the current resolution doesn't give you better results.

The kill tool is so to make the rain disappear after having landed on the ground for a half second or less, am I going about that wrong? Is the kill not necessary because there's a setting in one of the other nodes that I missed, or did I just set up the kill improperly?


I see. First thing to remember is that particle tools aren't sequential. So the kill isn't happening *after* you've bounced, but simultaneous. So the particles are killed from the moment they're created.
The reason you don't see this is, because you set up your probability really low (0.05 means the change that a particle gets killed on any given frame is 5% )
You'll probably want to set this to 0.9 or something like that and then use the 'start age' slider to decide from which age (effectively which frame) the particles will get killed.

And yes, I am rendering it in 3D with render3D. Please let me know any and all information I can provide for you to better help me.


This should hopefully get you started for now.
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline

Tyler Wilson

  • Posts: 23
  • Joined: Fri Jul 14, 2017 8:26 am

Re: Is there anyway to reduce RAM usage?

PostFri Aug 04, 2017 6:38 am

What is the purpose of the shadow tool?


Just to give it that traditional cardboard cut-out style shadow behind it, like if you've ever watched the earlier seasons of South Park you'll notice visible shadows behind the characters and such.

Thank you for all your help, it is very much appreciated!

Return to Fusion

Who is online

Users browsing this forum: KrunoSmithy and 30 guests