Rice
Emulator Developer
When making a high resolution texture from the original texture, most people increase the texture by 4x4, making a 32x32 to 128x128, a 64x64 to 256x256 and so on.
Memory requirement is increased dramatically by increasing the texture size, and the texture package file size gets easily to a few megabytes.
Shall we reconsider the texture size? Do we really need a new 256x256 texture for the original 64x64 one? Could a 128x128 be just enough for our N64 emulation purpose?
To look at the memory requirement quickly (32bit RGBA textures):
16x16 1KB
16x32 2KB
32x32 4KB
32x64 8KB
64x64 16KB
64x128 32KB
128x128 64KB
256x256 256KB
512x512 1MB
We clearly don't need a texture larger than 256x256.
Btw, because most original textures have width and height of 2's powers, it does not have to save the memory to create a 3 times larger texture instead of 4 times. A 3 times larger texture of original 32*32 is a 96x96, which will be loaded in DirectX and OpenGL as a 128x128, uses the same memory as a 4 times larger texture.
Memory requirement is increased dramatically by increasing the texture size, and the texture package file size gets easily to a few megabytes.
Shall we reconsider the texture size? Do we really need a new 256x256 texture for the original 64x64 one? Could a 128x128 be just enough for our N64 emulation purpose?
To look at the memory requirement quickly (32bit RGBA textures):
16x16 1KB
16x32 2KB
32x32 4KB
32x64 8KB
64x64 16KB
64x128 32KB
128x128 64KB
256x256 256KB
512x512 1MB
We clearly don't need a texture larger than 256x256.
Btw, because most original textures have width and height of 2's powers, it does not have to save the memory to create a 3 times larger texture instead of 4 times. A 3 times larger texture of original 32*32 is a 96x96, which will be loaded in DirectX and OpenGL as a 128x128, uses the same memory as a 4 times larger texture.