Confused about readpixels()

In babylon.js there exists two functions to read pixels, one is engine.readpixels() and the other texture.readpixels().

What i’m confused is engine.readpixels() only read an uint8array but support only read a small part of the framebuffer, and texture.readpixels() can read float and uint8 data, but read the whole texture at once, which is very slow when the texture is a big rendertarget.

My point is why texture.readpixels() can not read a small part of the texture.
and which framebuffer is to read when there exists multirendertarget using engine.readpixels().

Well I see no problem to add more parameters to texture.readPixel to define a rectangle in the texture to read

Fancy doing a PR?