I have 31 2D scene capture components running. Getting the resource from the rendering thread boost my framerate from 11.3 to 11.7 and reduce RAM usage from 9.2 to 8.1.
FTextureRenderTargetResource* resource;
ENQUEUE_RENDER_COMMAND(GetResource)([this, &resource](FRHICommandListImmediate& CommandList) { resource = TextureTarget->GetRenderTargetResource(); });
static TArray<FColor> colors;
FlushRenderingCommands();
if (resource) resource->ReadPixels(colors);