@lithium.snepo But surely it would have to do everything it does now, only offscreen, and then there is a final step to get that into the memory location (somewhere) where it is used for actual display?
Yes I don't use any mipmapping (i think) - i create a texture like:
gl::Texture::Format mTextureFormat = gl::Texture::Format()
Should I be using mipmapping? I didn't because I thought it would need more memory in the GPU and I'm already struggling (typical memory vs performance tradeoff).
The rects dont change in size, I have limited my load and display of on screen texture data to about 10000x10000 combined. Any more, and my system grinds to a halt.
Thanks for the pointers!
tempted by smcFanControl
EDIT: Just a thought, but I create a couple of loader threads with shared contexts to the main one. Do you think it is possible for this texture data to be getting "copied" between thread context GPU memory causing massive overuse of the GPU memory? The usage does seem to go up suspiciously high when an image has its texture allocated (more so than expected, i think).