If I want to run an HD texture resource pack, but it lowers my framerate; is there a specific or general upgrade I would need to off-set the problem? I.e., do HD packs only use RAM to load and run, or is it a combination of RAM and processor?
62 Answers
Resource packs that provide high-resolution textures ("HD texture packs") require your GPU to fetch, store, and render exponentially more pixels every frame. Every 2x texture size step (16 to 32, 32 to 64, etc.) involves 4x the GPU processing* than the previous step. This is all also stored in RAM too, but your RAM is rarely the performance bottleneck when increasing texture size.
So what this math means is that if your GPU is using (for example) 20MB of its onboard VRAM for storing the textures for a particular scene (i.e., looking at a particular forest) using a default 16x16 resolution texture pack, going up to a 32x32 texture pack will require 80MB of VRAM for looking at that spot from that angle, and the card has to spend proportionately more time to render it all.* Jumping up to a 64x64 texture pack will increase it again to 320MB of texture memory needed. Now if you step up to a 128x128 texture pack, that's going to (for that particular angle on that particular forest) load 20MB*4*4*4 of texture data over the 16x16 version, for 1.28GB of VRAM needed... which is a pretty big jump! And note that, every time you swing your view around to something with completely different textures (say, from a forest to the desert behind you) the video card will have to either already have those textures cached (which is less likely the more space each needs) or have to load them from RAM or disk, which introduces camera lag.
So what's the take-home message? That VRAM is the most important bottleneck for high-res texture packs, and the more you're asking the GPU to deal with bigger and bigger textures, the less of its data storage and processing capacity it may have left over for other tasks* such as scratch processing storage and caching other textures so that it doesn't have to reload them from RAM/disk when you move around your world.
To offest this, you want to do two things: not get too ambitious with your texture pack sizes, and install a mod like Optifine (the Standard or Lite editions that don't add fancy graphics) that improves and streamlines Minecraft's inefficient default rendering code. Remember that the size comparisons go exponentially backwards, too: if you're finding 64x64 to be a heavy load and laggy, the drop down to 32x32 will give you somewhere around a 4x performance increase!*
* This is a vast simplification. Modern GPUs do a bunch of pipelining and parallel processing, and have separate dedicated modules for textures verses vertex versus shader processing, and the 20MB of textures might leave a bunch of that capacity idle, so it may not be a perfect 4x increase. However, at higher loads that already saturate the processing capacity of a video card, the comparison will be closer to the simplification.
3Normally more GPU and RAM. However, things like Optifine and MCPatcher can make it easier on your GPU. However, it's a bit of a worse story for the RAM with those programs.
4