跳到正文

FreshCIT

作者:SolarBiscuit

Custom Item Textures from Optifine built from ground up to lower memory overhead

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

Custom Item Textures for Forge 1.20.1. Lightweight, fast, and highly compatible. This is a from-scratch rewrite rather than yet another fork–as such it’s lighter & more optimal in it’s memory rather.

FreshCIT loads OptiFine/MCPatcher CIT resource packs without OptiFine. Any number of items can receive their own textures & change with their name or NBT. Should work out of the box with any CIT pack following the traditional Optifine form.

Why FreshCIT vs other forks?

   
Compact ~75 KB without libraries bundled with it.
Faster Each item is checked at most once per game tick, and items no CIT can match are skipped right away.
No memory leaks Refreshing w/ F3+T doesn’t leave old models behind. Only the textures the item CITs actually use are added to the texture atlas.
Compatibility Only uses non-exclusive hooks, so it doesn’t fight other mods over the same code. Supports ModernFix dynamic resources, and is tested against 400+ mods alongside Embeddium-based renderers, ImmediatelyFast, Oculus and cosmetic armor mods.

Config available at config/freshcit-client.toml

If you are a CIT resource-pack author, you can develop near-identically to original CIT–just make note that if you have a key that FreshCIT doesn’t define, it will never be applied nor logged. cit.properties can support useGlint, cap, method, fade and root_fallback.

Noting FreshCIT is client-side only (can be installed on server-side, but won’t do anything).

Below are a number of basic benchmarks on a small sample size–mostly just outlining how close parity is to vanilla in many cases.

Per-call costs (median of 10 launches)

Metric Vanilla CIT Reforged FreshCIT FreshCIT vs Reforged
Creating an item stack 46.8 ns / 264 B 67.0 ns / 472 B 44.7 ns / 264 B 1.50× faster, −44% memory
Copying an item stack 131.0 ns / 552 B 154.0 ns / 760 B 125.5 ns / 552 B 1.23× faster, −27% memory
Model lookup, CIT matches 11.3 ns / 16 B 256.4 ns / 592 B 20.2 ns / 16 B 12.7× faster, 37× less memory
Model lookup, item has CITs but none match 11.2 ns / 16 B 34.3 ns / 104 B 19.3 ns / 16 B 1.78× faster, 6.5× less memory
Model lookup, item with no CITs 11.1 ns / 16 B 30.6 ns / 104 B 21.2 ns / 16 B 1.44× faster, 6.5× less memory
Fresh stack + lookup, CIT matches 457 ns / 1528 B 1153 ns / 2576 B 618 ns / 1576 B 1.87× faster, −1000 B
Fresh stack + lookup, no match 143 ns / 568 B 321 ns / 1144 B 192 ns / 616 B 1.67× faster, −528 B

“Fresh stack” rows include copying the stack, as when a server re-sends inventory contents. Just wanted to make that distinction

Time to draw a 36-item inventory screen

Grid Vanilla CIT Reforged FreshCIT FreshCIT vs Reforged
Plain items (no CITs) 310.7 µs / 209 KB 329.7 µs / 215 KB 310.3 µs / 212 KB 6% faster, matches vanilla
Enchanted items, 2 custom glint layers + vanilla glint 971.8 µs* 1728.9 µs / 574 KB 1689.9 µs / 543 KB 2% faster, −5% memory

*Vanilla draws only its own single glint, so it does less work on that row.

常见问题

FreshCIT 支持哪些 Minecraft 版本?

FreshCIT 支持 Minecraft Java 版 1.20.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

FreshCIT 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

SolarBiscuit 的其他作品

查看全部 →