Framebuffer Allocation, what is the difference between the two 3D modes?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By CrazyDisplay

What exactly are the differences between “3D” and “3D without Effects”, in the “Framebuffer Allocation” project setting?
I can’t find anything specific on what this setting changes.

What does “without Effects” refer to?
Image

Is it referring to the post processing effects in the WorldEnvironment node?
I’m guessing not, since all of the effects still work with “3D without Effects” enabled.

:bust_in_silhouette: Reply From: petr0m

I stepped upon this topic when optimising my rendering performance and noticed that switching the frame buffer to 2D to improve the rendering performance the environment post processing effects get disabled.

What I know is that it refers to the options available in your shaders. So if you set it to 3D without effects your shaders can not use screen reading functions.

As refered to in this documentation: Screen-reading shaders — Godot Engine (stable) documentation in English

But it would be great if someone could clear this up more precisely. I would also like to know how much of a performance impact this actually has when setting it to 2D for a 2D game instead of leaving it on 3D. Most post processing features are for 3D and bloom could be implemented separately if needed on a 2D project if the performance hit is worth the extra time for implementing own 2D solution.