mojira.dev
MC-295893

Significant performance regressions with vertex/index buffer uploads

As part of 1.21.5’s rendering changes, the game stopped resizing and recreating the data inside of vertex and index buffers using glBufferData each time they needed to be uploaded and began to instead update the buffer’s data via glBufferSubData.

The problem is that on macOS (and potentially with other systems and drivers), the pipeline gets flushed when glBufferSubData is used which forces rendering to wait until that operation has completed and flushing the pipeline is very slow. I’ve observed this resulting in the loss of around 50-75% of my FPS depending on how frequently the vertex and index buffers are being uploaded. This issue can be especially slow with rendering the HUD as that can require that the vertex and index buffers be uploaded frequently for being drawn.

Code Analysis
The code responsible for uploading vertex and index buffers is located at GlCommandEncoder#writeToBuffer in Mojmap.

Inside this method there are three paths available for the given buffer to be uploaded, the first one uses glBufferSubData, the second uses glBufferData, and the third path uses both. Prior to 1.21.5 the second path was chosen for uploading the given buffer which avoids this issue, now due to 1.21.5’s changes in the rendering pipeline, the first path using glBufferSubData is the chosen one which triggers this performance regression.

Fix
The old method of simply resizing and recreating the vertex/index buffer data when uploading it does not force the pipeline to be flushed, thus reverting this change or providing a workaround for affected systems is enough to resolve the significant performance regressions caused by this issue.

Environment

MacOS 15.3.2 with M1 Pro chip

Linked issues

Attachments

Comments 88

I will mark this as Plausible since I can confirm that 1.21.5 does seem to bring a performance regression (in the screenshots below, it’s roughly 15-20%, but I would believe it could be much higher depending on the situation).

[media][media]

The performance tanked a ridiculous amount for me, I don't feel like I can enjoy the game as much while it continues to run this poorly.

Nick Zmudzinski

I'm running 1.21.5 on an Apple M3 Pro MacBook Pro with 18GB RAM and the game is almost unplayable for me now when I am in my single player base near a lot of entities. On 1.21.4, I had absolutely no problems, but now, I have very poor FPS. Others are reporting this issue running 1.21.5 on Apple Silicon in this Reddit thread.

Joseph Blakemore

Yes, I am the person who made the reddit thread above, I was making 130fps generally on realms, now dropping to, like the post and video within shows, 8/9fps… This is absurd… This “upgrade” has only been a “downgrade” for me

1.21.4 ran smooth as butter for me with “fancy” settings throughout. Since 1.21.5 the game is literally unplayable, even with everything switched down to lowest settings. This is on Java Realms with no mods/shaders/resource packs.

Happy to provide further info as needed.

78 more comments

Not direct solution but this mod solved this problem for me. https://modrinth.com/mod/immediatelyfast/version/1.9.4+1.21.5-fabric this version (or later I used 1.9.6) of the mod says in its Changelog:

  • Speed up buffer upload on Apple GPUs

    • This "reverts" an internal 1.21.5 change which caused a performance regression on Apple GPUs

I hope they will fix this problem for vanilla version too.

2021 Macbook Pro (M1) – upgraded from 1.20.4 → 1.21.7 and having issues w frame rate

Still having this issue with 1.21.8, dropping from 60fps to 8 fps when looking at my home base. No slowdown prior to 1.21.5.

Sebastian Larranaga

I’m playing on PC using an Intel Core i7 13700k, an RTX 4070 and 32GB DDR5 RAM (8GB allocated to Minecraft) and this regression in performance has also been impacting me as well. It started during 1.21.5 (it doesn’t happen in 1.21.4) but every version subsequent to 1.21.5, snapshots included, all the way up until the latest release as of July 19th, 2025 (1.21.8) have been significantly laggier, slower and sluggish especially when using shaders (my GPU usage stays between 93% and 100%).

I tested some stuff out with some controlled variables. I should mention I used the exact same mods and shaders I used on 1.21.4 for 1.21.5, 1.21.6, 1.21.7, and 1.21.8. Even when I’m not using shaders, my GPU usage is hovering anywhere from 70% to 90% on vanilla Minecraft with no mods and no shaders on 1.21.5 and above.

Using the same seed and teleporting to the same precise coordinates in that world, I’m obtaining approximately 150fps at the highest shader settings on Minecraft with mods in 1.21.4 (render distance set to 16 chunks, simulation distance set to 12 chunks and shadow distance set to 8). With all variables maintained exactly the same except for version of Minecraft, I tried the same thing on all versions including and after 1.21.5. I observed a drop in performance that ranged anywhere from 26% to 40% using the same settings, mods, shaders, etc.

I hope this helps the devs and engineers resolve the issue. I’m using the latest NVDIA drivers as of July 19th, 2025 and the latest version of Windows 11.

Kacper Lukowiak

To fix this issue, . https://modrinth.com/mod/immediatelyfast/version/1.9.4+1.21.5-fabric get this mod on NeoForge platform. Works for both Apple sillicon and Nvidia - not sure about AMD as I don’t have their GPU. Otherwise, you need to wait for them to fix it

AzureAaron

(Unassigned)

Plausible

Platform

Important

Performance, Rendering

1.21.5, 25w15a, 25w16a, 25w17a, 25w18a, ..., 1.21.6, 1.21.7 Release Candidate 1, 1.21.7, 1.21.8 Release Candidate 1, 1.21.8

Retrieved