ホッパーでワールドを重くしない方法があった!? 検証したら統合版とJavaで効果に違いがあることが判明… 【マイクラ負荷検証】

Поделиться
HTML-код
  • Опубликовано: 26 окт 2024

Комментарии • 28

  • @ボマー-z1p
    @ボマー-z1p 2 года назад +13

    各ブロックの重さを調べる動画と併せて視聴しました
    気になりつつも自分ではなかなか調べないところだったので、とても助かりました!

  • @Zuho-Endelka
    @Zuho-Endelka 2 года назад +7

    サーバーホストしたり装置作ることが多いので
    すごく参考になりました
    こういった検証はすごく助かりますね!

  • @ようくん-s5i
    @ようくん-s5i 2 года назад +4

    めっちゃ知りたかったこの情報
    本当にありがとう!!!!!

  • @tumujikaze9999
    @tumujikaze9999 2 года назад +10

    そもそもJAVA版と統合版では負荷のかかるブロック自体も違う可能性があるということか。

  • @雑魚一味の騒がしい部屋
    @雑魚一味の騒がしい部屋 2 года назад +25

    統合版はC++かなんかでプログラミングされているので、
    JAVAとは違い、バイトコードの解析やVM内の処理を挟まずに
    ネイティブにCPUやGPUを使えるので軽くなってるはずです。
    あとは、ホッパー等のインベントリやエンティティ関連の処理も改良されてたはずです。
    とはいえ、統合版の軽さには驚きますね

    • @user-k48ygkf2ly
      @user-k48ygkf2ly 2 года назад +5

      調べてはいないのですが、MSストアだから恐らくC#じゃないかな、CPU依存のネイティブバイナリ化はしていないと思う。
      最近のEXEは.NETなのでCPU依存のコンパイルはされていない、それを.NETがVMと同じように間に入って解釈している。
      JAVAと.NETは中間解釈を挟むということについては変わらない、どちらが細かい部分でWindowsやCPUに最適化されているかの差です。
      .NETの方がWindowsへの最適化はされているはずだけど。
      追記:気になったので調べたらC++みたいですね。失礼しました。PocketはC++という情報しか見つかりませんでしたけど、WinのBEも基本処理部分はC++での開発でしょうね。

    • @雑魚一味の騒がしい部屋
      @雑魚一味の騒がしい部屋 2 года назад

      @@user-k48ygkf2ly ご丁寧にありがとうございます。
      C#はあまり詳しくないので間違っている可能性がありますが、たしか.NETはJITコンパイルされるはずなので一応ネイティブコードになってるはずです。
      仮想マシンVESもありますがコンパイラ的な意味合いが強かった気がします。
      QuoraのWhat programming language was Minecraft developed in?というスレッドによりますと、一応Windows版もC++であるようなので上位互換に近いBEもC++かと思われます。
      一応dllをつくれば.NETのプログラムを呼び出せるようですし、MSストアはexeやmsi等であれば公開できるようなのでC#である必要はないんじゃないかと。
      ソースが一部でも公開されていれば推測はできますが何もない(LevelDBはC++だそう)ので何とも言えませんが。
      長々と失礼しました。

    • @user-k48ygkf2ly
      @user-k48ygkf2ly 2 года назад +1

      @@雑魚一味の騒がしい部屋
      本筋と離れてしまって申し訳ないです。
      以下、私もWindowsやJAVAシステムのプロではないの間違いがあるかもしれません。
      JITという言葉が出ているので蛇足ではあるのですが
      JAVAもJIT可能なので起動時に搭載CPUに合わせてネイティブコンパイルすることができます。処理や演算自体が特別遅いわけではありません。
      .NETはILという中間言語としてバイナリ化しEXEにしています、そのままではCPUは読み取れません。
      JAVAと同じく実行時に初めてネイティブコンパイルしています。JAVAも.NETも基本は同じです。
      ただまあ、あくまでも大枠の考えにすぎないので、仕組みは色々で差はでます。
      恐らくOS依存のシステムコールとかDLLコールとか各種ライブラリにはかなりの差があるかと。
      演算自体ではなく「できもの」をどうやって使うか「できもの」の性能の良し悪しには差があると思います。

    • @神神-n2e
      @神神-n2e 2 месяца назад +1

      何だこの神々の会話

  • @ちばたろう-h2e
    @ちばたろう-h2e Год назад

    とても貴重な動画をありがとうございます。検証お疲れ様でした。
    ホッパーは1x1の範囲内で起こるパターンの数が多いと重いんですね。コンポは0か1かしか判定しないので言われてみれば確かに動作を軽くできますね。
    統合はもしかするとホッパーの上に何か動作ブロック系を置いても処理が上書きされることはなく、そのままホッパーの上1x1を検査しつつ、新たに置かれた動作系ブロックの処理も上乗せされるのかと思います。

  • @yusukem
    @yusukem 2 года назад +3

    検証ありがとうございます!
    まじで、統合版にもTPSが分かる機能つけてほしいですw

  • @スノウライム
    @スノウライム 2 года назад +23

    統合版だと普通にコンポスターの中に入ったエンティティ吸いますからねぇ。

    • @ちち-o2g
      @ちち-o2g 2 года назад +3

      なるほど、その仕様差が効いてるみたいですね。でもエンティティでもホッパー側が定期監視する必要はないと思うのですけどね。
      なんで吸い込みに関してホッパー側が定期監視しているのだろう。エンティティが動いた時に確認すればいいだけなのに。
      輸送の方はスピードがあるので定期なのはわかりますが。

    • @ガジュマル-p1b
      @ガジュマル-p1b Год назад +1

      ​@@ちち-o2g エンティティが動いた時になんてことにしたらもっと重くなるで。ホッパー自体は軽くなるかも知らんけど他のアイテムエンティティが全部重くなるから意味無い

    • @ちち-o2g
      @ちち-o2g Год назад +1

      @@ガジュマル-p1b 有るときではなく動いた時よ。動く処理がされなければ何の負荷も追加されないのだが。
      その動く処理自体はもう存在しているんだよ?そこに判定を一個追加するだけよ。
      ホッパーは恐らくエンティティーが有ろうが無かろうがずっと定期的に監視しているんだよ。その処理を無くせるんだよ?

  • @優希福島-m1v
    @優希福島-m1v Год назад

    って事は、大量のアイテム仕分け機を作るってなったら、氷と水流でホッパー節約するわりは、横向きホッパー+上にコンポスターのが軽くなるのかな

  • @素数-y7b
    @素数-y7b 2 года назад +2

    もしかしたら、統合版はホッパーのアイテム吸い込みをアイテム・インベントリがあるブロックの方に組み込んでるのかもしれませんね。

  • @-sokatsu-
    @-sokatsu- 2 года назад +7

    統合版だとホッパーの上にかまどを置くと負荷が軽減されるって聞いたんですが本当ですかね?

    • @jack-enki
      @jack-enki  2 года назад +11

      統合版ではかまどを置いても負荷が軽減されるということはないみたいです。ホッパー16万個の上が普通の石ブロックの時とかまどの時を比べたのですが、変化はありませんでした。

    • @-sokatsu-
      @-sokatsu- 2 года назад +3

      本当ですか!( ゚д゚)
      ありがとうございます🙏

  • @ガジュマル-p1b
    @ガジュマル-p1b Год назад +2

    ホッパーの上にホッパーを置いた時も検証して欲しかったなぁ、、、

    • @leooh3966
      @leooh3966 3 месяца назад +1

      ホッパーの上にホッパーは関係ないやろ
      考えろ

    • @ガジュマル-p1b
      @ガジュマル-p1b 3 месяца назад +1

      @@leooh3966 いや怖w
      急につっかかってくるやんww
      なんで関係ないの?

  • @ウッシ一ウッシー-u6m
    @ウッシ一ウッシー-u6m 2 года назад

    描写する必要がなくなるから?

  • @Scr_MIYUKINNGU
    @Scr_MIYUKINNGU 2 года назад +4

    さすがC++。
    処理速度が速いと言われているだけはある。
    プログラムする際に選ぶ言語はやっぱりC++しかねえわぁ

    • @にこにこ-q7b
      @にこにこ-q7b 2 года назад +4

      ゲームを作るにおいてC++は結構使われてるよね。
      業務用アプリとかの開発ならC++はあんまり使わないし、プログラムならって括りにするのは少し大きい気もする。

    • @Scr_MIYUKINNGU
      @Scr_MIYUKINNGU 2 года назад +2

      @@にこにこ-q7b タシカニ、プログラムッテククリハオオキイ。ゲームニスベキダトオモウネ()

    • @flytakesi7478
      @flytakesi7478 Год назад +1

      @@にこにこ-q7b素人なんですけどね、業務用でC++使わないのはなんでですかね?pythonみたいな型無しを使うのは書くのが楽だからですか?
      工学部でCから学んだので、とても違和感があります。