Why are sprites not readable by default?

I’m very confused on why the texture data in a sprite is not readable by default? Also why am I required to turn on WRITE and READ at the same time? I can’t find a way to just make sprite texture data readable but not writable.

When you enable read/write support you will double your memory usage. That’s why it’s not enabled by default. Usually once a texture is loaded it is uploaded to the GPUs memory and stays there. The VRAM can’t be accessed directly. If you keep the source memory in normal RAM you automatically have read and write access.

You may want to have a look at this question and the comments.