光影加载问题

过时的文档

这篇文档在 新版文档open in new window 中有修改,此处仅为旧版留档。

加载光影后帧数远低于预期?

可搭配任务管理器分三步检查。

  1. 检查 GPU 占用
  • 在游戏内的 F3 信息界面或任务管理器 GPU 页可查看显卡使用率;
  • 若发现核显运行满载而独立显卡空闲,则需在系统设置中启用高性能电源计划,或将 Java 目录中 bin\javaw.exe 添加至显卡设置面板并启用独显渲染。此处不会可自行百度教程;
  • 若独显使用率为 100% ,但帧率仍然低于同水平硬件,则可直接跳至第三步检查 RAM 占用;
  • 若独显使用率低于 80% ,则可能是下方两个部件达到了瓶颈状态,或是第四点的特殊情况。
  1. 检查 CPU 占用
  • 右键任务管理器中 CPU 的占用曲线图,将图形更改为 逻辑处理器
  • 如果你发现 其中一个线程是满载 ,那一般是因为 CPU 出现瓶颈,性能不足以调用全部 GPU 的性能;
  • 原因一般是使用了 模组过多的整合包分辨率过高/贴图数量过多的纹理包。可根据具体情况逐个调整,减少 CPU 的负载。
  1. 检查 运行内存(RAM)占用
  • 检查任务管理器中 已提交现有内存 是否已经超过了你的 内存条容量
  • 已提交的总内存 = 内存条容量 + 系统从磁盘中划分的虚拟内存 ,虚拟内存仅能做到不让游戏崩溃,由于磁盘 IO 传输速率与运行内存带宽差距较大,两者无法互相平替;
  • 若已超过,此时你需要更换容量更大的内存条,或调整游戏内的光影包、资源包、模组包以减少内存占用。
  1. 特殊情况:
  • 部分光影(如 BSL )本身就难以使 GPU 达到满载,但由于其运算量少,也难以做到帧率低;
  • 不要在一个区块停留过久 ,尤其是一些方块物品数量过多的基地,可能会消耗过多的 CPU 或别的部件性能,从而导致无法调用全部 GPU 渲染;
  • 部分独立显卡会提供驱动或硬件开关调整其运行模式。将其改为游戏模式即可发挥显卡全部性能。

选择界面没有找到光影/选择光影后没有效果

  • 光影包可能出现损坏,需要重新下载

    • 一些浏览器(如 Safari)默认不能正确处理压缩文件。你可以尝试关闭 下载后打开安全文件(只适用于 Safari),或者使用不同的浏览器,如火狐或谷歌。
  • 光影包被放置在错误的文件夹中

    • 请检查你的光影包放置路径是否正确。
    • 如果开启了 版本独立 ,则游戏的读取目录在 versions 文件夹下对应的游戏版本文件夹中。
    • 建议在游戏内从 视频设置 > 光影 > 光影包文件夹 OptiFine视频设置 > 光影包 > 打开光影包文件夹 Iris 直接访问。
    • Canvas MOD 使用资源包作为光影加载途径,注意不要将 Canvas 光影与 OptiFine/Iris 光影混用,也不要将 Canvas 光影放入 shaderpacks 文件夹,或将 OptiFine/Iris 光影放入 resourcepacks 文件夹。
  • 光影包读取出现问题

    • 尝试将光影包解压之后再加载。有时光影包可能被有问题的压缩(如压缩为 .rar.7z ),导致光影在压缩包状态下无法被正常读取。
    • 若使用的光影模组是 Iris,可尝试切换为其它光影如 BSL、Complementary Shader 等。该模组本身就不兼容许多光影,也不适合作为大多数入门玩家的第一选择。
    • 若同时伴随着左下角的一大串报错,同时在切换光影界面的底部看到显卡型号为 Intel 核心显卡(非 Arc 系列的显卡),同时如果你确认你的电脑有独立显卡,则可能说明你没有正确配置显卡。参考 通用问题 独立显卡没有正确启用 解决。

      事实上比较新的核心显卡已经不会在大多数时候报错了,如果你确认你的核心显卡型号比较新,则可能是其他原因。

    • 若读取时提示 需要更新至 OptiFine Z1 版本 ,而 OptiFine 已发布的最新版本号远低于该版本时,意味着这个光影可能只支持 JE 1.16.5 G7 及以上的 OptiFine。如果目前使用的是 JE 1.12.2 客户端,可以尝试通过添加 Advanced Shader 模组来解决问题。
  • 光影包的结构错误

    • OptiFine 和 Iris 会遍历 shaderpacks 下的文件夹和 .zip 压缩包,将所有包含 shaders 文件夹的内容都视为光影外壳,我们将它们称为外壳文件夹
      • OptiFine 会先寻找外壳文件夹,然后在外壳内寻找 shaders 文件夹,因此,如果将一个包含着色器文件的 shaders 文件夹直接放在 shaderpacks 下,或者外壳文件夹内还嵌套了一个文件夹,则不会读取。
        • 老版本的 OptiFine 会认为前者的名字就叫 shaders,并把它视为外壳文件夹,然后试图寻找这个外壳文件夹中的 shaders 文件夹;如果是后者的情况,由于 OptiFine 只会试图在第一层外壳下寻找 shaders 文件夹。这两种情况都会导致光影虽然显示在列表中,却无法正确加载。

你可以按照这个目录来检查你的光影是否安装正确:

└─ <.minecraft | .minecraft/versions> # 取决于你的游戏是否开启版本独立
  └─ shaderpacks
    └─ <光影名称 | 光影名称.zip>
      └─ shaders
        └─ <着色器程序相关文件和文件夹>

游戏聊天栏报告 OpenGL ERROR

  • 有多种报错代码,我们整理原因及相关解决方法如下:
错误代码原因解决方法
1281无效值关闭 替选方块 ,禁用部分可能引起冲突的模组
1282无效操作更换光影或其他版本的高清修复
1283栈溢出检查并移除互相冲突的模组
1284栈下溢更新显卡驱动,禁用可能引起冲突的模组或光影
1285显存不足停止加载资源包或光影,升级硬件
1286无效帧缓冲操作更新 Java ,或重新下载客户端

本表格参考自 Copilot 的回复,解决方法仅供参考。

开光影后游戏崩溃

  • 两种原因游戏进程崩溃,和 Java 虚拟机崩溃。这两种类型都会产生一个崩溃日志文件,而这个崩溃日志对于诊断问题是绝对必要的。

    • 游戏进程崩溃会把这个文件放在.minecraft/crash-reports/crash-(date)-(time)-(client or server).txt
    • Java虚拟机崩溃会把这个文件放在.minecraft/hs_err_pid(number).log
  • 如果你不知道你的崩溃原因,请检查这两个文件。如果你有一个以上的崩溃日志,而你不知道哪一个是正确的,请删除所有现有的崩溃日志并再次启动游戏。当它第二次崩溃时,将只有一个崩溃日志在两个地方之一。如果你看不懂,请将它发到求助频道寻求帮助。

  • 对于游戏进程崩溃,如果崩溃日志显示 java.lang.NoSuchFieldError: field_191308_b,而你的版本是 1.12.2,那么有两种方法可以解决这个问题:

    • 更新到最新的 OptiFine 版本。你需要在 OptiFine 的下载页面上点击 "显示所有版本",以便找到 1.12.2 的版本。
    • 删除光影包内的/shaders/entity.properties。你需要解压缩光影的压缩文件,以便修改其内容。如果你的崩溃日志没有提到这两个特定的错误,那么请在求助频道中上传日志并询问它。
  • 对于 Java 虚拟机崩溃,请打开崩溃日志并在顶部搜索关键词。如果提到了antio6axx.dll,那么你需要将你的 AMD 驱动降级到 20.4.2 版本。此外,截至2022年11月末,如果AMD显卡的用户在加载一些光影时游戏崩溃,可以优先尝试将显卡驱动降回22.6.122.5.1版本。如果降级不能解决你的问题,或者问题是其他东西,那么请在主聊天频道中上传日志并询问它。

游戏未崩溃,但画面看起来不正常

  • 所有光影都不保证加载了就能正常使用。 有时,它可能与你的显卡、图形驱动或其他已安装的 Mod 不兼容。
  • 调试光影时,首先要寻找的是的 invalid programs 错误。如果一个光影编译失败,当你启用该光影包时,你会在聊天菜单中看到 invalid programs。然而,它不会告诉你实际问题是什么。对于这一点,你需要查看你的日志文件。
    • 如果你安装了Forge,这可以在.minecraft/logs/fml-client-latest.log中找到。
    • 否则,就去.minecraft/logs/latest.log
  • 把这个日志文件上传到主聊天频道,我们会帮你找出问题所在。如果可以,最好重启客户端,加载一次光影后关闭再上传你的日志。 这样,有问题的将是你日志文件中的最后一个,错误信息也不容易被其他的信息掩盖,更容易被找到。
  • 注意:如果你的聊天记录显示 OpenGL Error,你可以忽略这一点,这与无效的程序无关。(如果这些信息打扰了你,你可以通过 视频设置 > 其他 > 显示GL错误 来禁用它们,但隐藏GL错误不会隐藏无效的程序错误)。
  • 如果你没有任何无效的程序,接下来要检查的是 Mods。试着只用 OptiFine + 纯净版本 来运行光影包,而不使用其他东西,不要启动 Forge 版本。如果它正常了,那就可能是 Mod 的问题了。幸运的是,大多数Mod都有配置选项,可以让你在不删除整个 Mod 的情况下禁用有问题的 Mod 功能。配置文件可以在.minecraft/config中找到。
  • 在 1.13 以上版本中,Forge 配置文件被分成客户端服务器普通配置文件。不是每个 Mod 都会有所有这三个文件。在遇到问题时,应优先打开客户端配置文件。如果 Mod 没有客户端的配置文件,再试试普通配置文件不要尝试通过修改服务器配置文件来修复这个问题。