McLists一周年快乐
服务器已经添加了详细介绍信息板块
服主可以在管理后台来提交自己服务器介绍信息。
服务器介绍信息提交后,管理人员会进行审核
审核通过后会在服务器详细页面进行显示
提交服务器介绍信息会让新玩家更好的了解你的服务器哦~
添加图片信息,也会让百度等搜索引擎更好的收录您的服务器哦~
管理平台地址:传送门
Ixeris

Ixeris

原始输入缓冲与多线程事件轮询
fabric / forge / neoforge / quilt 作者 decce6 支持版本 1.16.5 - 26.1-pre-2
下载量
751,823
关注数
208
数据来源
Modrinth
模组详细介绍

Ixeris

概述

Ixeris 是一个通过优化事件轮询来提升客户端性能的模组。

你可能已经注意到,当你移动鼠标时,FPS 会明显下降。FPS 下降的一部分原因在于,当你转动视角时,游戏确实需要执行额外的工作,例如计算区块的可见性。然而,由于用于轮询事件的原生代码效率低下,以及 JNI 向上调用的开销,一部分原本可以用于渲染的 CPU 时间被不必要地浪费在事件轮询上。这个问题在 Windows 上最为明显,尤其是在你的鼠标具有较高轮询率时。

Ixeris 主要通过以下两种措施来解决这一问题:

  • 线程化事件轮询。Ixeris 不再在同一个线程上同时执行渲染和事件轮询,而是让事件轮询在主线程上执行,并将渲染交给单独的渲染线程
  • 缓冲原始输入(仅限 Windows)。将输入轮询的方法从低效的 GetRawInputData(每个输入事件调用一次)切换为 GetRawInputBuffer,后者允许按批次读取原始输入消息(一次调用读取所有事件)。此外,由于这部分工作改在 Java 代码中执行,我们还消除了 JNI 向上调用的开销。

基准测试

这些测试是在世界完全加载并且帧率稳定后进行的。鼠标轮询率为 1000Hz。按下 ``F3+Esc`` 以确保在移动鼠标时产生的帧率变化是由事件轮询导致的,而不是其他计算造成的。

“Idle FPS” 列表示不移动鼠标时的 FPS。接下来的两列分别表示在游戏窗口上快速移动鼠标时,不安装 Ixeris 和安装 Ixeris 时的 FPS。最后一列则比较了安装与未安装 Ixeris 时的 FPS 差异。

Idle FPS Without Ixeris With Ixeris Improvement
Windows 233 FPS 133 FPS 165 FPS 1.24x
Linux (X11) 358 FPS 320 FPS 355 FPS 1.11x
Linux (Wayland) 364 FPS 289 FPS 298 FPS 1.03x

技术细节

线程安全

就目前状态而言,Ixeris 不会破坏线程安全。通过 ``glfwSet*Callback`` 注册的回调会在渲染线程上执行。对于那些要求必须在主线程上调用的 GLFW 函数,如果它们是在其他线程上被调用的,则会被分发到主线程执行。如果这些调用可以被安全延后,则可能会立即返回;否则,调用方可能会被阻塞,直到调用完成。

从 3.1.0 版本开始,GLFW 文档中关于线程安全的要求已被严格遵守。

GLFW 状态缓存

大多数 GLFW 函数都要求在主线程上调用。然而,许多模组可能会在渲染线程上调用它们。为了避免线程通信带来的性能下降,Ixeris 会缓存常用的 GLFW 状态,以便任何线程都能快速访问,而无需将调用转发到主线程。这些缓存是安全的,并且不会引入额外延迟。

增强型 FPS 限制器

原版的 FPS 限制器(26.1 之前)存在缺陷,它使用 glfwWaitEventsTimeout 来休眠。然而,该函数不能在渲染线程中调用,因此无法与 Ixeris 良好配合。

Ixeris 以一种混合方式重写了 FPS 限制器:先进行精确休眠,并在等待时间非常短时开始自旋等待。

术语表

  • 主线程是启动游戏时所使用的线程。大多数 GLFW 函数都要求在该线程上调用,并且它负责事件轮询。
  • 渲染线程负责执行游戏通常进行的所有工作,但不包括事件轮询。

在原版 Minecraft 中,这两个术语指的是同一个线程。

基本信息
模组名称Ixeris
作者decce6
下载量751,823
关注数208
支持版本1.16.5 - 26.1-pre-2
加载器fabric / forge / neoforge / quilt
客户端required
服务端unsupported

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人数:211,653  |  历史访问人次:320,056

今日访问人数:18,551  |  今日访问人次:21,807

昨日访问人数:30,537  |  昨日访问人次:36,142

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6