While rendering this scene, my renders give this error after a few frames, i've done al the optimisation i could, i keep viewports on wireframe, I used ALT + D instead of SHIFT + D, and i've baked the rigid body simulation as well. the light bounces have also been reduced to 4.
Any idea why this error keeps occuring?
My machine is a M3 Pro macbook pro fyi
Yes, this happens a lot to everyone. Your graphics card is running out of memory, it doesn't have enough to hold the scene. The solution is always the one we don't like to hear, I got to get myself a better computer now. It's just the reality of computer graphics, we need beefier and beefier computers. As you say there's scene optimizations we have to go through so the scene can fit in memory, but when all else fails, we render with the CPU and not the GPU and take the big jump in render time hit.
Yes, like Omar says; if the System runs out of GPU Memory, your System doesn't have enough GPU Memory.
Mind you, your Computer uses the GPU also for other Applications, so Blender might need 3GB and you have 4GB, but you also have several Tabs on your Web Browser open and are playing a Game or something like that.
But most likely, you'll need a more powerful machine.
You can also try background rendering. Basically run blender thru the command line. On mac you have to do some setup before you can run it thru the command line.
https://docs.blender.org/manual/en/latest/advanced/command_line/launch/macos.html
Then once you do that you can run blender in background: Note: Switches are case sensitive. so -s and -S are two different things.
blender -b [blend file path and name] -a
The -b is background and must be the first argument.
The -a renders out animation. It will use the output settings in your blend file. -a must be the last argument.
If you have multiple scenes then the scene that you where in when you saved it will be rendered. You can add -S [Scene name] if you want to render a different scene or don't want to have to keep up with what scene you where in when you saved. If you want to render different frame series use -s ### for start and -e ### for start and end frame. If you want to render just one frame then use -f ###. There are a lot more options. those are the ones I use.