Closed 1a2s3d4f1 closed 3 years ago
这似乎是原版Minecraft 1.7.6就有的问题,卡是因为获取头颅皮肤的过程从Server Thread移到了Render Thread上
补充在Forge开发环境下的调用堆栈 (mcp_snapshot-20200203-1.15.1)
[Render thread/WARN] [com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService/]: Couldn't look up profile properties for com.mojang.authlib.GameProfile@5c96d290[id=0489e922-3947-3a85-a108-0083605ad304,name=Zeker_Zhayard,properties={},legacy=false]
com.mojang.authlib.exceptions.AuthenticationException: The client has sent too many requests within a certain amount of time
at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:79) ~[authlib-1.5.25.jar:?]
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:180) ~[authlib-1.5.25.jar:?]
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:173) ~[authlib-1.5.25.jar:?]
at net.minecraft.tileentity.SkullTileEntity.updateGameProfile(SkullTileEntity.java:124) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at net.minecraft.tileentity.SkullTileEntity.updatePlayerProfile(SkullTileEntity.java:109) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at net.minecraft.tileentity.SkullTileEntity.setPlayerProfile(SkullTileEntity.java:105) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at net.minecraft.tileentity.SkullTileEntity.read(SkullTileEntity.java:52) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at net.minecraft.client.network.play.ClientPlayNetHandler.handleUpdateTileEntity(ClientPlayNetHandler.java:1216) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at net.minecraft.network.play.server.SUpdateTileEntityPacket.processPacket(SUpdateTileEntityPacket.java:45) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at net.minecraft.network.play.server.SUpdateTileEntityPacket.processPacket(SUpdateTileEntityPacket.java:12) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at net.minecraft.network.PacketThreadUtil.lambda$checkThreadAndEnqueue$0(PacketThreadUtil.java:19) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at net.minecraft.util.concurrent.ThreadTaskExecutor.run(ThreadTaskExecutor.java:140) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at net.minecraft.util.concurrent.RecursiveEventLoop.run(RecursiveEventLoop.java:22) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at net.minecraft.util.concurrent.ThreadTaskExecutor.driveOne(ThreadTaskExecutor.java:110) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at net.minecraft.util.concurrent.ThreadTaskExecutor.drainTasks(ThreadTaskExecutor.java:97) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:930) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:554) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at net.minecraft.client.main.Main.main(Main.java:177) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_241]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_241]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_241]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_241]
at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55) ~[forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-5.0.0-milestone.4.jar:?]
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-5.0.0-milestone.4.jar:?]
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-5.0.0-milestone.4.jar:?]
at cpw.mods.modlauncher.Launcher.run(Launcher.java:81) [modlauncher-5.0.0-milestone.4.jar:?]
at cpw.mods.modlauncher.Launcher.main(Launcher.java:65) [modlauncher-5.0.0-milestone.4.jar:?]
at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:102) [forge-1.15.2-31.0.16_mapped_snapshot_20200203-1.15.1-recomp.jar:?]
请在生成头颅时正确填入用户皮肤地址,请减少使用仅包含用户名的头颅
请在生成头颅时正确填入用户皮肤地址,请减少使用仅包含用户名的头颅
mod、/数据包掉玩家头卡的怎么改
头颅获取单独2个线程,获取失败也是卡头颅线程而不是渲染线程
头颅获取一直是单独线程,但获取过多会导致“判断-创建获取线程”这个行为卡顿
已确认是 Minecraft 1.15 原版的问题,在主线程尝试补全头颅材质,这个补全其实是没必要的。 https://bugs.mojang.com/browse/MC-65587
1.15似乎改了头颅的皮肤加载机制,如果自定义头颅不是正版玩家id,那么会在加载时报错卡顿(fps掉为1)与这种卡相比,tnt就是个弱鸡), 就像这种志(原版测试同样的):
原版照样有这个问题 mod/数据包/插件不知道自动填入获取皮肤地址,获取了uuid和用户名就直接获取头颅,如果玩家不是正版,那么就要卡了