Take the 2-minute tour ×
Arqade is a question and answer site for passionate videogamers on all platforms. It's 100% free, no registration required.

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?

share|improve this question
    
You'll have to dig into what the program is using more of; more RAM (I've never had this be the bottleneck for MC), more CPU, more GPU? –  Ben Brocka Aug 27 '13 at 19:55
1  
@dlras2 It doesn't. It has built-in textures, that you can select in the resource pack view, but they're built-in. Since "it lowers my framerate" is in the question, you can safely assume that they're using a pack that has higher-res textures than the default ones it's replacing. –  SevenSidedDie Aug 27 '13 at 20:20
    
@SevenSidedDie I had assumed they were distributed as a resource pack, and not actually built in. Dunno if it makes a performance difference, but good to know. –  dlras2 Aug 27 '13 at 20:25
    
@dlras2 They're inside the version.jar. Using a 16x16 replacement pack won't make a performance difference since it's a 1:1 replacement, but a 32x32 pack or up will impact performance. I've heard of players who don't realise that the default is so low-res and gleefully installed a 128x pack, without realising they were doing a 64-fold increase in texture size! –  SevenSidedDie Aug 27 '13 at 20:30
1  
@dlras2 The way the game seems to work, I don't believe so. Both ways it has to go into a compressed archive to fetch the textures, since it doesn't use an uncompressed texture folder on-disk like some games do/can. –  SevenSidedDie Aug 27 '13 at 20:33

2 Answers 2

up vote 10 down vote accepted
+100

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.

share|improve this answer
    
I'm strongly considering putting this answer up for bounty, thanks much! –  Ender Aug 27 '13 at 20:59
    
@Ender Give it a week, maybe. It's been a while since my discrete electronics education, so someone could easily come along and school me with corrections or a better answer. ;) –  SevenSidedDie Aug 27 '13 at 21:14

Normally 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.

share|improve this answer
    
Has MCPatcher added rendering improvements? I haven't used it for a while. –  SevenSidedDie Aug 27 '13 at 20:26
    
@SevenSidedDie I think it has, I'm not sure though. –  It'sNotALie. Aug 27 '13 at 20:59
    
Luckily RAM is very rarely a bottle neck for minecraft –  DCA- Aug 29 '13 at 8:09
    
@DCA- When you're running a 512x it sure is ;) I give MC 4GBs (I've got 16) and it still uses a bunch of the page file. –  It'sNotALie. Aug 29 '13 at 9:13

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.