use Uint8Array for texture rather than canvas, it is 5x faster