极速优化(ImmediatelyFast)
极速优化(ImmediatelyFast)是一款开源的《我的世界》模组,用于提升客户端即时模式下的渲染性能。
它设计轻巧,且与其他模组兼容。
优化内容
极速优化(ImmediatelyFast)通常通过使用自定义缓冲区实现,对所有即时模式渲染进行优化,该实现将绘制调用批量处理,并以更高效的方式将数据上传到GPU。
即时模式渲染代码的以下部分得到了优化:
- 实体
- 方块实体
- 粒子
- 文本渲染
- 图形用户界面/抬头显示(GUI/HUD)
- 其他模组的即时模式渲染
它还具有针对性的优化,即对原版渲染代码进行更改以提高运行速度。
渲染代码的以下部分通过更高效的实现方式得到了优化:
- 地图渲染
- 抬头显示(HUD)渲染
- 文本渲染
性能表现
以下是该模组优化效果特别显著的一些区域的性能对比:
如果表格中列出了其他模组,这意味着该模组也对游戏的该部分进行了优化。
测试硬件:锐龙5 1600,32GB DDR4,GTX 1060
帧率数据取自外部工具(在此例中为微星Afterburner),并在数秒内取平均值。
如果你决定自行测试,请记住,极速优化(ImmediatelyFast)仅在CPU成为瓶颈的场景中才能提高帧率(如果你的GPU不算老旧,或者你使用非常复杂的着色器,这种情况很可能出现)。较慢的CPU从该模组中获得的收益比非常快的CPU更多。
实体渲染
在繁忙的服务器上,帧率通常应提高约 两倍。[使用1.19.3版本上的极速优化1.1.7进行测试]
在一个屏幕上3x3区域内有1000头牛的Spigot服务器上进行测试。
地图渲染
当屏幕上有许多地图时,帧率通常应提高约 五倍。[使用1.19.3版本上的极速优化1.1.1进行测试]
在一个装有Image2Map模组且屏幕上约有930张地图的Fabric服务器上进行测试。
抬头显示(HUD)渲染
在几乎所有场景中,帧率通常应提高约 40%。[使用1.19.3版本上的极速优化1.1.7进行测试]
在一个屏幕上有不同抬头显示元素(计分板、药水效果覆盖、首领血条、满屏聊天信息、额外生命之心、满格快捷栏)的Spigot服务器上进行测试。
文本渲染
当你周围有许多告示牌或全息图时,帧率通常应提高约 两倍。[使用1.19.3版本上的极速优化1.1.7进行测试]
在一个屏幕上有200个(填满文本的)告示牌的Spigot服务器上进行测试。
方块实体渲染
当你周围有许多方块实体时,帧率通常应提高约 20%。[使用1.19.3版本上的极速优化1.1.7进行测试]
在一个屏幕上有400个箱子的Spigot服务器上进行测试。
兼容性
极速优化(ImmediatelyFast)的结构设计使其尽可能少地与其他模组产生冲突。它应能与大多数(即使不是全部)模组和模组包正常配合使用。
已知不兼容情况:
- OptiFabric / OptiFine
- VulkanMod
- 大多数闭源“客户端”,如LunarClient和LabyMod
如果你遇到任何问题,请在问题追踪器上报告。
配置
极速优化(ImmediatelyFast)有一个配置文件,可在你的《我的世界》实例的配置文件夹中找到。大多数选项应保留默认值,但有些选项可以调整,以提高性能或兼容性。
- font_atlas_resizing:增加字体图集纹理的大小。这在使用高分辨率或自定义服务器字体时可提高性能。
- map_atlas_generation:将地图纹理合并到单个纹理中,而不是使用多个纹理。当屏幕上有许多地图时,这可提高性能。
- hud_batching:通过减少提交绘制调用次数来提高抬头显示(HUD)渲染的性能。如果你在抬头显示元素上遇到问题,尝试禁用此优化。
- fast_text_lookup:在渲染文本字符之间缓存一些数据。在渲染大量文本时,这可略微提高性能。
- avoid_redundant_framebuffer_switching:此优化在渲染世界中许多不同内容(实体、粒子、方块实体等)或抬头显示(HUD)时,减少帧缓冲区切换次数,以提高帧率。
- experimental_disable_error_checking:禁用OpenGL错误检查。这在某些系统上可能提高性能,但启用时可能导致难以调试的问题。
- experimental_disable_resource_pack_conflict_handling:控制极速优化(ImmediatelyFast)是否应扫描资源包中不兼容的核心着色器修改,以便禁用一些冲突的优化。即使某些优化可能会与特定资源包导致图形问题,也可禁用此选项以强制进行优化。
- experimental_sign_text_buffering:缓冲告示牌上的文本,而不是每一帧都重新渲染。这可能会在高分辨率或自定义字体时导致问题。
- experimental_screen_batching:通过减少提交绘制调用次数,提高一些游戏内屏幕渲染的性能。
开发者API
你可以在此处阅读最新版本的API文档。
合作伙伴
YourKit通过创新且智能的工具,为监控和分析Java和.NET应用程序的开源项目提供支持。YourKit是YourKit Java分析器、YourKit .NET分析器和YourKit YouMonitor的开发者。
Kinetic Hosting提供性价比极高的服务器套餐,硬件配置优良!如果你想享受这些优惠,点击 此处,或在结账时使用代码 RaphiMC,首月可享25%的折扣!
感谢sydist制作的标志!
ImmediatelyFast
ImmediatelyFast is an open source Minecraft mod which improves the immediate mode rendering performance of the client.
It is designed to be lightweight and compatible with other mods.
Optimizations
ImmediatelyFast generally optimizes all immediate mode rendering by using a custom buffer implementation which batches draw calls and uploads data to the GPU in a more efficient way.
The following parts of the immediate mode rendering code are optimized:
- Entities
- Block entities
- Particles
- Text rendering
- GUI/HUD
- Immediate mode rendering of other mods
It also features targeted optimizations where vanilla rendering code is being changed in order to run faster.
The following parts of the rendering code are optimized with a more efficient implementation:
- Map rendering
- HUD rendering
- Text rendering
Performance
Here are some performance comparisons of areas the mod optimizes particularly well:
If other mods are listed in the table this means that this mod also optimizes that part of the game.
Test Hardware: Ryzen 5 1600, 32GB DDR4, GTX 1060
FPS Numbers were taken from external tools (in this case MSI Afterburner) and averaged over a couple of seconds.
If you decide to test this yourself keep in mind that ImmediatelyFast can only improve FPS in a scenario where your CPU is the bottleneck (Most likely the case if your GPU isn't ancient or you use very heavy shaders). Slower CPUs will benefit more from this mod than really fast CPUs.
Entity Rendering
Generally FPS should be around 2x higher on busy servers. [Tested using IF 1.1.7 on 1.19.3]
Tested on a spigot server with 1000 cows in a 3x3 box on screen.
Map Rendering
Generally FPS should be around 5x higher when there are many maps on screen. [Tested using IF 1.1.1 on 1.19.3]
Tested on a fabric server with the Image2Map mod and around 930 maps on screen.
HUD Rendering
Generally FPS should be around 40% higher in almost all scenarios. [Tested using IF 1.1.7 on 1.19.3]
Tested on a spigot server with different HUD elements on screen (Scoreboard, Potion effect overlay, Bossbars, Filled Chat, Extra hearts, Full Hotbar).
Text Rendering
Generally FPS should be around 2x higher when there are many signs or holograms around you. [Tested using IF 1.1.7 on 1.19.3]
Tested on a spigot server with 200 signs (Filled with text) on screen.
Block-Entity Rendering
Generally FPS should be around 20% higher when there are many block entities around you. [Tested using IF 1.1.7 on 1.19.3]
Tested on a spigot server with 400 chests on screen.
Compatibility
ImmediatelyFast is structured to interfere with mods as little as possible. It should work fine with most if not all mods and modpacks.
Known incompatibilities:
- OptiFabric / OptiFine
- VulkanMod
- Most closed source "clients" like LunarClient and LabyMod
If you encounter any issues, please report them on the Issue Tracker.
Config
ImmediatelyFast has a config file which can be found in the config folder of your Minecraft instance. Most options should be left at their default values, but some may be tweaked to improve performance or compatibility.
- font_atlas_resizing: Increases the sizes of the font atlas textures. This improves performance with high resolution or custom server fonts.
- map_atlas_generation: Puts the map textures into a single texture instead of multiple textures. This improves performance when many maps are on screen.
- hud_batching: Improves the performance of the HUD rendering by submitting less draw calls. If you experience issues with HUD elements, try disabling this optimization.
- fast_text_lookup: Caches some data between rendering text characters. This slightly improves performance when rendering a lot of text.
- avoid_redundant_framebuffer_switching: This optimization reduces the number of framebuffer switches when rendering many different things in the world (entities, particles, block entities, …) or the HUD to increase FPS.
- experimental_disable_error_checking: Disables OpenGL error checking. This may improve performance on certain systems, but can cause hard to debug issues if enabled.
- experimental_disable_resource_pack_conflict_handling: Controls if ImmediatelyFast should scan resource packs for incompatible core shader modifications in oder to disable some conflicting optimizations. This can be disabled to force optimizations even if they may cause graphical issues with certain resource packs.
- experimental_sign_text_buffering: Buffers text on signs instead of re-rendering it every frame. May cause issues with high resolution or custom fonts.
- experimental_screen_batching: Improves the performance of some in-game screens rendering by submitting less draw calls.
Developer API
You can read the latest version of the API docs here.
Partners
YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor.
Kinetic Hosting offers extremely affordable deals on servers with very good hardware! If you'd like to cash in on the good deals click here or use code RaphiMC at checkout for 25% off your first month!
Credits to sydist for making the logo!
本站是资源分享站,资源均来自于互联网和用户自发分享,仅供学习和交流使用。如有版权问题,请联系管理员删除。
操作
创作者
待认领资源
成为此资源的创作者
其他链接
最近更新资源
通天之路
热度 317 | 3 天前更新
匠途闲境 - Create Craft & Quiet
热度 215 | 3 天前更新
VERITY.exe
热度 371 | 6 天前更新
咒术回战(咒术战斗)
热度 68965 | 6 天前更新
暮色森林精选 - The Best of Twilight Forest
热度 25620 | 6 天前更新
无限计划 0.1 - Project Infinity 0.1
热度 9751 | 6 天前更新
黑暗RPG - DarkRPG - Forge
热度 9600 | 6 天前更新
[TLWS]末世生辉 The Last World Shines
热度 9409 | 6 天前更新
简易小屋
热度 628 | 1 周前更新
灾厄巫咒
热度 664 | 2 周前更新
阿卡迪亚的天启
热度 2872 | 2 周前更新
寄生仙途
热度 805 | 2 周前更新
评论区 (0)
登录 后才能发表评论
快来发表第一条评论吧!