How to load a 1.16 resource pack

I received a lot of messages lately stating that latest packs didn’t work anymore with recently released 1.16 Optifine. I wanted to delve a bit deeper into that issue and conducted some tests.

The 512x version was already pretty intensive but it seems that 1.16 itself is a bit heavier on memory than 1.14 used to be: even without additional, specific 1.16 blocks the same resourcepack was much more slow to load and prone to crashes under 1.16 than under 1.14. Accounting for the added 1.16 blocks this strain is even higher.

What it means is that being able to load a pack with 1.14 is no guarantee you’ll be able to do the same with 1.16. I’m looking into ways of alleviating the issue but it’s safe to say memory requirements might be higher than before. If you can’t run a specific pack resolution, you might need to load the immediate lower resolution instead.

I wanted to give you some insight on the tests I conducted and the conclusions I came to. Here’s a quick walkthrough.


Java installation

First there is something to consider, the Java environment. Most of the time default options and built-in JRE are fine but I’ll show you how to alter this:

Click configurations here (in English it reads installations)

Then click the 1.16.1 OptiFine entry

Then you get this screen :

Exécutable Java (or Java Executable) can specify the Java runtime to use. If you leave it blank it’ll use the one shipped with the launcher in the \bin subfolder.

You can use another JRE instead, some can bring better performance, some can have better memory management. If it doesn’t work with built-in JRE you can try OpenJDK instead, in its HotSpot flavor (rumored to have a bit better performance) or the openj9 JVM version (rumored to have a bit better memory usage, I noticed a couple of % difference).

If you use a 3rd-party JRE I strongly recommend to download a .ZIP package and unzip it in a specific directory for Minecraft to use, that way you won’t overwrite your current Java install and possibly mess up some stuff in your system.

When the JRE is comfortably sitting in a folder, change the Java Executable option to use the javaw.exe file in the aforementioned folder.

The Arguments JVM (JVM Arguments) box can let you specify switches for the JVM. Here are the ones I’d suggest.

For the built-in Java runtime:

-Xmx4G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M

For the OpenJDK 14 JRE:

-Xmx4G -XX:+UnlockExperimentalVMOptions -XX:+UseZGC

You’ll notice the args for built-in JRE are mostly default ones. Some people prefer to use the -Xmx switch only, but YMMV. It shouldn’t hurt to leave the args to default for the built-in JRE.

You notice the -Xmx flags are specifying 4G. The value I’d recommend would be the smallest one that doesn’t crash your system. 4G is a safe bet, 2G can also work but might soon no more, too high a value can cause more issues that it would solve (because of Java’s garbage collection mechanism).


PAGEFILE

Some other things to consider when unable to load a resource pack is the Windows pagefile configuration.

I wanted once to move my pagefile to another SSD drive. Thing is, Windows seems to require a pagefile on the system disk. I then decided to create a small one on the C: system drive (like 500MB or so) and a 32GB one on a small SSD drive (called A: here) dedicated to temp files.

Problem was that Windows didn’t seem to be willing to use the A: drive’s pagefile when the small C: one was full. When trying to load my 512x pack I ran into an out of memory exception, as expected.

To check your pagefile, open your control panel (Win+R, then type sysdm.cpl, then hit enter).

open advanced parameters tab, in the performance box, click parameters:

then in the new window click the advanced tab, and finally in the virtual memory click change.

You can then choose to let Windows handle pagefiles entirely by clicking the Automatically manage paging file sizes for all drives checkbox at the top :

Or you can uncheck that checkbox and disable the pagefile on all drives except for the system one (usually C:) like so :

Lastly you can also choose to specify you own pagefile size (I’d recommend letting Windows handle pagefile size though), just make sure it’s large enough.
If minecraft crashes, you can try increasing that value by clicking the custom size radiobox, setting the indicated values in the Initial size and Maximum size textboxes, then clicking the Set button :

TL;DR Just remember that if you changed your pagefile parameters it can also be a cause for crashes in Minecraft with large resourcepacks.


Miscellaneous performance tips

Check the following switches in the options
> Enable Video Settings>Performance>Smart Animations
> If it’s not enough, set Video Settings>Animations>Terrain Animated to Off
> Activate Video Settings>Performance>Fast Render
> Disable Video Settings>Performance>Smooth World
> Set the Video Settings>Details>Trees setting to Smart
> Set the Video Settings>Details>Biome Blend to 3X3 or even Off

User realgerbagel on CurseForge just gave some feedback about loading the 512x pack with 1.16 and found that lowering/disabling mip-mapping could also lower memory requirements. The drawback is lowered performance because distant blocks will then try and load full resolution textures even if the resulting block only shows as a couple of pixels on the screen.

Another thing I was wondering about is whether using a .ZIP file versus a folder would make a difference. So I downloaded latest .ZIP on the laptop and ran the game with that .ZIP instead of the folders I usually use while designing. It didn’t crash.


I have two computers I can use to debug and benchmark :

  • My main desktop machine -called HAWKING– is an AMD Ryzen7 3700x with an nVidia GeForce RTX 2070s (8GB VRAM) and 32GB system RAM.
  • My older laptop -called TESLA– is an Intel i7 6700HQ with an nVidia GTX 1070 (8GB VRAM) and 16GB system RAM.

Here are the tests I conducted:

  • HAWKING - OpenJDK Java 14 JRE - Xmx4G - 512x v1.3.0
    Working perfectly
  • HAWKING - OpenJDK Java 14 JRE - Xmx4G - 512x v1.4.0 EA3
    Working perfectly
  • HAWKING - OpenJDK Java 14 JRE - Xmx2G - 512x v1.4.0 EA3
    Working perfectly
  • TESLA - Built-in JRE - Xmx2G - 512x v1.4.0 EA3
    Very long load times but eventually works well

Here’s a video I made showing TESLA running 1.16.1 OptiFine with Sildurs 1.28 extreme and Vanillaccurate 512x v1.4.0 EA3

and a video of my main PC loading the final 512x 1.4.0 pack. Loading times are quite large and physical memory is almost fully used but it works and gives decent FPS (the shader displayed here is Loop).


What it means is that for the time being, Vanillaccurate 512x should run on 1.16.1 even with a 16GB RAM system but might require 8GB VRAM. I don’t have a 6 or 4GB VRAM GPU somewhere so I can’t test that. If you can’t run the pack with less than 8GB VRAM you might consider go for a lower resolution.

But if you have 16GB system RAM and 8GB VRAM then 512x should definitely work on your system. I’ll closely monitor memory requirements to make sure I don’t cross some threshold that would cause the pack to be unable to run on 16GB RAM/8GB VRAM systems though.


30 thoughts on “How to load a 1.16 resource pack

  1. Hey! I have a system with 16GB RAM and 8GB VRAM, but Vanilla Accurate 512x doesn’t want to run in any way. I allocated the maximum power of my computer for minecraft, even increased the swap file, but nothing helps. What could be the problem?

  2. Not sure if I missed a step. But there is no indentations in any of the blocks? Please HELP! :O Textures are working fine though.

      1. Basically you need to use a shader that supports what’s called POM.

        Some shaders that do:

        ⚖️ BSL (and edits like AstraLex/BSLex or Complementary)
        ⏭️ Chocapic
        ⏭️ Sildur’s vibrant
        ✅ SEUS Renewed
        ❇️ SEUS PTGI (HRR 2.x only)
        🔝 Kappa
        ✅ Nostalgia (since v3.0)
        ❇️ MollyVX
        🔝 Continuum (all versions)
        ❇️ ContinuumRT
        🔝 Spectrum
        ⏭️ Fraction
        ✅ ProjectLUMA (KUDA’s successor)

        Symbols stand for:
        ⏭️ Fast, performance-oriented shader that still looks very good with lots of features
        ✅ Balanced shader that has good performance and high-end features
        🔝 Very high-end shader that will run slower but has the best image quality and realism
        ❇️ raytraced shader (path traced exactly) that uses worldspace tracing

        Each shader has an option to enable POM (or Parallax mapping), which might be found under “materials”, “advanced materials”, “PBR”, or maybe “shading”.

  3. I’m considering donating to you to get your Realaccurate, can I run the Realaccurate 512x on this laptop?

    Core i7 10750H
    RTX3060 Laptop 6GB
    16GB RAM

    And, the recommended specs on your Instructions page say Vanillaccurate 512x has 32GB RAM and 4-8GB VRAM, Realaccurate 512x has 16GB RAM and 2GB VRAM, so Vanillaccurate 512x is harder to work than Realaccurate 512x?

    1. Yes for now, because Realaccurate has fewer blocks than Vanillaccurate for the time being. I’d say you might be able to run it but as the pack steadily grows at some point you will not be able to load it anymore (not enough RAM). That laptop sounds quite great but I’m always a bit surprised they usually skimp on RAM so much even on high end laptops.
      The 256x will always work on your rig no matter what, though. Be it Vanillaccurate, Realaccurate or ToonAccurate those should always work on your system at 256x.

      1. Where is the shader called Fraction?
        Can it get higher FPS than Chocapic or Sildur ’s vibrant?

      2. I don’t know but maybe. Zombye’s a wizard and managed to pull off a LabPBR-supporting shader pack with lots of features that’s got stellar performance. It’s very vanilla though so you have to like such aesthetics. Here’s Zombye’s Spectrum GitHub where you can find a link to his Discord server. That’s where you’ll find Fraction. https://github.com/zombye/spectrum

      3. Will the 512x and above packs work if I upgrade that laptop’s RAM to 32GB or 64GB?
        teach me please

      4. I’d recommend 64GB to be sure but then yes. 32 *might* with but you’ll stretch your resources thin. If you can get to 64 then you’ll have ample headroom. With 32 I’d suggest falling back to the 512x lite version for Vanillaccurate

      1. Will Realaccurate 1K and Realaccurate 2K work with 64GB RAM?
        I’m wondering whether to be Iron or Gold on Patreon
        The conclusion depends on whether 1K or more works.

      2. At this point yes. But even with 512 GB RAM you will never be able to load a full 2K pack. That’s why I split 2k in several sub packs with themes (wood, wool/terracotta/concrete, end/nether, utilities, …)
        For now 1k can be loaded with all the current blocks but at some point I might have to split it as well.
        That is considering you’re using Optifine of course. Focal Engine is already being worked on as an exciting alternative to Optifine which will improve shaders support on most respects. With Focal the way textures are loaded/stored is expected to be much more efficient and it should then be possible to load a full 2K pack at once with much lower requirements. There’s no ETA though at this point but it’s steadily growing. Check it https://continuum.graphics for more info on Focal.

      1. Nope it’s supposed to be working, I’m using 1.17.1 myself. I’ll check again but just to be sure can you try without forge ? Maybe there’s something that causes memory issues. If you’re using VA 512x and the items mobs addon at 512x as well you might run into memory issues of you have less than 32GB RAM.

      2. So you start the vanilla game, load Vanillaccurate 256x and Vanillaccurate items mobs 256x and it crashes? What GPU (VRAM) do you have and how much system RAM do you have?

Leave a Reply