Image engine is used to draw the image inside the image editor, uv editor and node editor. The performance during scrolling wasn't smooth when using larger textures on a dedicated GPU. Main reason was the data transfers that happens when panning the image. The original idea of the image engine was to have 4 textures that are as large as the editor. Those textures would be used to simulate a larger canvas where if the texture is out of the visible area the texture would be reused to contain the data of a new visible area. This would reduce the data transfers to only on certain x/y coordinates. Between those coordinates no data transfers would be needed. This patch implements the mechanism described above. During development other areas to improve have been detected (incorrect color management for float textures, using different image formats to reduce data transfer bandwidths, using different render techniques for images upto 8k). More improvements will follow.