Skip to content

About

Client-side Fabric mod that renders item frames and map walls (ImageFrame, map art) much faster, with no visual difference. Now available on Modrinth.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Fast ImageFrames

Now available on Modrinth! The best mod to pair with ImageFrame Client mod, by LOOHP. Also fixes the incompatibility issue between ImageFrame Client and ImmediatelyFast.

DM me here on Discord if you encounter any issues with the mod, or if you have suggestions.

Low and stuttering FPS (Fabulously Optimized base modpack) on a wall of image frames. Fabulously Optimized + Fast ImageFrames: the FPS nearly quadrupled while being much more stable. Item frames and map walls, rendered up to 50 times faster, same look as vanilla.

Fast ImageFrames is a client-side Fabric mod. Big map art walls, ImageFrame servers and shops full of item frames stop dragging your FPS down. Nothing to install on the server, nothing changes on screen: every feature is checked against vanilla screenshots.

What it does

Item frames and maps

  • Map atlas: map textures are packed into a few large textures, so a whole wall of maps is drawn in a handful of draw calls instead of one per map.
  • Baked map walls: frames that don't change are drawn once and replayed like terrain, instead of being processed one by one every frame. Frames are checked several times per second and rebuilt as soon as something changes. Without a shader pack, baked walls stay in video memory and are drawn straight from there.
  • Animated images (ImageFrame GIFs) stay baked while they play: only the texture coordinates are swapped.
  • Baked item frames (1.21.4 to 1.21.11): frames holding any item (blocks, tools, enchanted items, banners, shields, compasses, clocks...) are baked too. Since 1.8.0 an item taken out of a frame or replaced disappears at once (it stayed visible for up to 3 ticks).
  • Lighter frame model: the edges between two frames and the back of the frames are not drawn when they can't be seen. Resource packs that change the frame (invisible frames...) are respected.
  • Hidden frames are skipped: frames behind blocks are not drawn, baked or not, using the game's (or Sodium's) visibility plus a block by block test. Since 1.7.3 its time budget (0.4 ms per frame) counts only the time spent testing: it was counted from the start of the frame, so the test often ran out before the frames were reached. Since 1.8.0 light updates no longer make the test start over (on a server the light around the player changes all the time, so it used its whole budget every frame): only block changes count, light does not change which blocks are solid. A section of baked frames now tests its whole box first instead of each frame one by one.
  • Baked frames leave the entity list (1.7.2): the game (and Iris, which sorts every entity by type each frame) no longer looks at baked frames one by one. With Sodium and Iris, the entity pass of a scene with 1600 baked maps and 400 changing item frames takes 21% less time with a still camera and 37% less while moving.
  • Glow item frames too: normal and glow item frames are optimized the same way, and a change of light (torches, dynamic lights) does not rebuild anything.
  • No useless map updates: the game no longer rebuilds a whole map texture when a packet only moves markers.
  • Smooth maps at an angle (setting, off by default, strength 1 to 4): maps get mipmaps like block textures. Seen from the side or from far away they stay smooth instead of shimmering when you move (9 times less shimmer in the test at strength 4). When a map is bigger on screen than its image, it looks the same as before. No FPS cost on map walls; maps repainted all the time cost a little CPU.

ImageFrame Client HD images

With ImageFrame Client installed, Fast ImageFrames handles its HD images:

  • Level of detail: each image is drawn at the resolution its size on screen needs. Far images use no video memory of their own, near ones get sharper.
  • Cache in RAM and on disk, one folder per server: images show up instantly next time you join, without being downloaded again (only when the map still matches).
  • Smart downloads: images are requested in the order they appear, a few at a time, refusals are retried.
  • Map previews in the inventory (setting, on by default): the previews of maps and combined images in ImageFrame Client tooltips are drawn by Fast ImageFrames, with the HD image when there is one, shrunk smoothly to the exact pixels of your screen instead of a pixelated, shimmering copy, and as one picture for a whole combined image. Maps showing banner or explorer markers keep the ImageFrame Client preview.

Measured gains

In-game test, 854x480 window, RTX 4060 laptop, Minecraft 1.21.8:

Scene Vanilla Fast ImageFrames
Wall of 1600 maps (40x40) 13 FPS 725 FPS
Wall of 1600 HD maps with ImageFrame Client 18 FPS 656 FPS
Animated wall, 400 maps, one image per tick 60 FPS 687 FPS
400 item frames holding 12 kinds of items 94 FPS 512 FPS

On a real Paper server with a wall of 2160 HD images (4000 px each): about 30 FPS with ImageFrame Client alone, about 800 FPS with Fast ImageFrames.

Compatibility

  • Minecraft 1.21.4 to 1.21.11 and 26.1 to 26.3 on Fabric.
  • Sodium, Lithium, Iris, even with shader packs, ImmediatelyFast, Entity Culling, FerriteCore, ETF, EMF, etc. (it should be compatible with every mod).

Known incompatibilities

  • None

Settings

Everything can be turned on and off from Mod Menu, one page per group of settings, every option explained in its tooltip. English and French.

License

LGPL-3.0.

About

Client-side Fabric mod that renders item frames and map walls (ImageFrame, map art) much faster, with no visual difference. Now available on Modrinth.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages