Optifine導入時にマルチブロックが原因でクラッシュする問題への対処

アバター
RiSE
ID: 68G4IPQ66V
記事: 4
登録日時: 2019年10月11日(金) 23:05
連絡する:

Optifine導入時にマルチブロックが原因でクラッシュする問題への対処

投稿記事 by RiSE » 2020年3月02日(月) 12:24

Optifineを導入している環境下で、ForgeMultipartなどを利用したマルチブロックがワールド内に存在するとき、最適化がされていないModを使用していると、高確率でクラッシュする可能性があります。

・原因
ビデオ設定の中のChunk LoadingSmoothになっているから。

・なぜクラッシュするのか推測
実行環境:Windows 10, Minecraft 1.7.10, Forge#1558,
Mod:ImmersiveEngineering, Mekanism, CodeChickenCore, AppliedEnergistics2など他100個~
私の環境で落ちた時のクラッシュレポートを一部抜粋します。

コード: 全て選択

Description: Rendering Block Entity

java.lang.IllegalStateException: Already tesselating!
	at net.minecraft.client.renderer.Tessellator.func_78371_b(Tessellator.java:394)
	at codechicken.lib.render.CCRenderState.startDrawing(CCRenderState.java:418)
	at codechicken.lib.render.CCRenderState.startDrawing(CCRenderState.java:414)
	at mekanism.client.render.RenderPartTransmitter.renderContents(RenderPartTransmitter.java:255)

コード: 全て選択

-- Block Entity Details --
Details:
	Name: savedMultipart // TileMultipart_cmp$$0
	Block type: ID #724 (tile.multipart // codechicken.multipart.BlockMultipart)
	Block data value: 0 / 0x0 / 0b0000
	Block location: World: (1268,68,-808), Chunk: (at 4,4,8 in 79,-51; contains blocks 1264,0,-816 to 1279,255,-801), Region: (2,-2; contains chunks 64,-64 to 95,-33, blocks 1024,0,-1024 to 1535,255,-513)
	Actual block type: ID #724 (tile.multipart // codechicken.multipart.BlockMultipart)
	Actual block data value: 0 / 0x0 / 0b0000
Stacktrace:
	at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.func_147549_a(SourceFile:100)
	at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.func_147544_a(SourceFile:92)
	at net.minecraft.client.renderer.RenderGlobal.func_147589_a(RenderGlobal.java:807)
	at net.minecraft.client.renderer.EntityRenderer.func_78471_a(EntityRenderer.java:1712)
この時、私はImmersiveEngineeringの水車を設置していました。
おそらくですが、Smoothに設定時、本来1回ずつ読み込むTessellatorを何回も同時に読み込むためと思われます。本来Minecraftのブロックは1ブロックですが、マルチブロックの場合複数のブロックを設置して相互にやり取りするため、ここでOptifineが何度もTessellatorを呼び出してしまい、IllegalStateExceptionがスローされると考えられます。

・対処方法
ビデオ設定の中のChunk LoadingDefaultにする。
マルチブロックを利用しているModを導入しているときはこうしておいたほうがいいかと。

参考: https://github.com/SleepyTrousers/EnderIO/issues/3097
1
1 画像


MinecraftでModdingしてたりします。最近はKotlinに手を出してる時とかも。
1発ネタのくだらんModを作るのが好きです。


ゲスト
ID: 40W89M3LAZ

Re: Optifine導入時にマルチブロックが原因でクラッシュする問題への対処

投稿記事 by ゲスト » 2021年8月12日(木) 18:32

助かりました。ただ、これって再現性が非常に高いトラブルでしょうからOpti側がなぜ設定画面で警告等を出していないかが気になりますね。


アバター
menndouyukkuri
ID: 3BZ072WLOI
記事: 113
登録日時: 2019年8月13日(火) 06:16
Minecraft ID: menndouyukkuri
いいね: 7回
いいねされた回数: 3回
連絡する:

Re: Optifine導入時にマルチブロックが原因でクラッシュする問題への対処

投稿記事 by menndouyukkuri » 2023年4月25日(火) 21:51

ゲスト さんが書きました: 2021年8月12日(木) 18:32 助かりました。ただ、これって再現性が非常に高いトラブルでしょうからOpti側がなぜ設定画面で警告等を出していないかが気になりますね。
Optifineですから。ソースも非公開なので解決は難しそうです。
0
どこにでもいそうな 感覚マヒを起こしつつあるマイクラプレイヤー。
自己満足のために投稿してる吹けば飛ぶような動画投稿者。
Spoiler
Show
画像
トピック:
[1.7.10-1.19.2]MOD等の日本語化langファイルの配布 2023/05/14更新:Journeymap & Traveler's Backpack追加!
Minecraft非公式日本ユーザーフォーラム(旧フォーラム)を閲覧する方法

返信する