Error when SetRenderTargets more than 4 RTbinding

Hi, can anyone tell me is this a limitation, or it’s a bug. When i try to SetRenderTargets and the RenderTargetBinding is more than 4, it come with an error. 4 RenderTargetBinding is work fine, but when i add to 5 it crashed.

Afaik this is a limitation for MRT (multiple render targets).

1 Like

thanks for the information

Which platform is that ? Have you tried with HiDef profile?
Any GPU that supports 10.0 or higher can use 8 RT. Most phones are FL 9.3-9.1 which means only 4 or 1 RT…

for me doesn’t work. window & hidef profile it support only 4.

I see that GraphicsDevice has a hardcoded limit of 4 RT.
Can you please try https://github.com/MonoGame/MonoGame/pull/5304 ?

installer: http://teamcity.monogame.net/repository/download/MonoGame_PackagingWindows/28237:id/MonoGameSetup.exe
Assemblies: http://teamcity.monogame.net/viewLog.html?buildId=28228&buildTypeId=MonoGame_DevelopWin&tab=artifacts

A question comes to my mind. Why AAA games like BF4 (DX 10 or 11), COD, QuantumBreak (which is DX 12) use only 4 RTs at most when they can use 8 ? Why do they bother trying to make all the needed data for the rendering/effects by packing them to fit 4 RTs etc ?
The more RTs the more RAM which is ok nowadays with at least 8Gb at minimum.
But speed is essential, may 4 RTs be faster than 8 in 1920x1080 for ex ?

8 RTs may just put some players away from my game if their hardware does not meet the requirements.
I’m just wondering.

Texture data is stored in VRAM which is usually not as large as RAM. 1-2-4 Gb is most common I think.

the reason is bandwidth afaik, which is a major bottleneck usually

Are RenderTargets stored on the GPU’s vRAM or the RAM ? You make me doubt. I thought bandwidth was used to “upload” textures and RTs to render onto.

There’s bandwidth within the graphics card as well. They have caches for their GPUs and the higher bandwidth it takes to write to four or more render targets from the one shader.

Hum… So there is a bottleneck when sending data onto the gfx card, and another one between the GPU and its vRAM.
I was thinking nowadays it had been fast enough concerning the GPU and its memory. :frowning:

no way to support 5 rendertarget?

Did you test #5304? Did it work?

wat did u mean #5304?

See my previews reply about a month ago.

1 Like