Sonic1997 发表于 2013-10-6 00:38:10

@Soniji & others
The screenshots by Soniji show two different arrangements; one will "hit" the pathfinding issue hard, the other doesn't. The reason is not being on the floor or in the sky, but that the zombies are or are not in an tightly enclosed area. The problem is in the algorithm seeking for paths to the target (villager) all around, not just towards the target, as there could, for example, be a sort of hanging bridge that starts e.g. 40 blocks away and ends right on top of the villager.
When the zombies are in a small enclosed area (as in the sky screenshots; they are walled in that small platform), the pathfinding algorithm will quickly reach all possible places the zombies can get into and then stops. When not in small enclosed area (e.g. in a village in a normal map/world), the pathfinding algorithm will go further out (tens of blocks), and will rapidly (nerd-talk: at least O(N^2)) gather too much work (i.e. blocks/places to check).
This can be easily confirmed/tested in e.g. superflat world, single-player. Get time to night, difficulty normal. Create one 5x5 square "pen" with 2-block high walls (any solid block type is ok). Spawn a villager in that pen. Create another 2-block high wall around that pen, leaving just 2 blocks of free width between the inner and outer walls.
Spawn plenty of zombies in that area in between. Notice that CPU load isn't going ballistic.
Make a one block wide passage in the outer wall, giving zombies access to the rest of the world.. watch the CPU load jump up and observe other annoying symptoms of this issue manifest themselves. (I tested with this method on my PC using MC 1.6.4.; CPU loads: with ~20 zombies and walls enclosed around 9-12%; outer wall with a hole around 20-24%. Do not let those "low" CPU load numbers mislead; all the symptoms are there. Having core i7 running a poorly multi-threaded application has its benefits, which in this case means that the rest of the system runs still completely smoothly, while a single core gets saturated and thus the application (MC) gets in trouble.)
However, if the above test shows no (significant) CPU load increase (when the zombies have access to rest of the world) in latest snapshot(s) in singleplayer mode, it indeed doesn't proof that the issue is fully "fixed", but it could be merely partially circumvented. For example, ensuring that the zombie pathfinding range stays moderately low will keep the pahtfinding load manageable, but not exactly "capped". Thus, servers could, with more active villages/zombies still get pushed harder than single-player.
Even my code changes earlier are merely multiple methods aiming to reduce the average search range used by zombies. They can still occasionally do full long range search, but the code tries hard to use mostly shorter ranges. This keeps the load lower, but doesn't ensure that it couldn't go too high, given enough active zombies.超详细的分析报告.w.

664299301 发表于 2013-10-5 12:01:22

什么回馈点。。。。。。。。。。。。。。。。。。。。。。。。。

小安 发表于 2013-10-5 11:05:27

签0w0

orzfly 发表于 2013-10-5 09:32:06

你需要一个 NES 模拟器。

翎·仲秋 发表于 2013-10-5 08:29:53

10.5

Sonic1997 发表于 2013-10-5 08:04:25



奇怪了.w.

Baka Soniji 发表于 2013-10-5 04:56:39

放学签到.w.

小安 发表于 2013-10-4 20:39:57

本帖最后由 小安 于 2013-10-4 20:41 编辑

签,今天鼓起勇气试试摸刚烧开水的水壶底,果然如以前看到的一个资料说的不是很烫{:nm03:}
补充说明:但不可长时间接触壶底

satgo1546 发表于 2013-10-4 18:22:09

忘记签到了?

翎·仲秋 发表于 2013-10-4 11:46:29

10.4
页: 50 51 52 53 54 55 56 57 58 59 [60] 61 62
查看完整版本: 【Ver07 Beta1】~2014『初春』签到贴~(简约时代)