らいふスマートフォン用の表示で見るぐーるらいふしがないリーマンの記録。遊びのunityのメモ帳にしたい。DOTS(ECS)をWebGLで使う場合は思った以上にパフォーマンス出ないよって話UnityDOTSをWebGLで...だと?またまたUnityの話題。DOTS(ECS)のお話だよ。「流行りのDOTSでいっちょ神ゲー作ってやろう」なんて考えてるそこのキミに見てほしいです。Burst使っても思ったよりもパフォーマンス出ないよ、って話です。実装について今回の調査では「オブジェクトを大量に表示しつつRotateだけ行う」という簡単な動きだけで計測してます。細かい実装はほぼこれなんでそっちを読んでもらい、RotateSystemだけ載せます。}}#endif(雑にdefineでJob、Burstの使う使わないを切り替えれるようにしてます。実際に使うときはこんなん作らないからね。ComponentSystemだけで50000Object出すとこのぐらいのパフォーマンスになります。vimeo.com(13~14FPS)PCでフルセットの場合(50000object)次にJobSystemとBurstコンパイラを利用した形式に変えて再度計測してみます。するとこのぐらいのパフォーマンスになります。vimeo.com(24~25FPS)10も上がった!!いいですね、このぐらい目に見えて良くなると実装しがいがあるというもの。WebGLはどうなの?unity1weekで使いたい、サクッとgithubで公開したい、といった方はWebGLでの出力が候補になります。50000objectだと重すぎて動かなかったので、10000objectまで下げてます。ブラウザはFireFoxで見てます。WebGLでEntityのみ(10000obj)vimeo.com12FPSオブジェクト数下げてもこれ。最小構成でこれでは実際のゲームでは使い物にならないでしょう。WebGLでフルセット(10000obj)vimeo.com15FPSJobSystemとBurstコンパイラを利用した形式に変えてみましたが微増。これでも苦しい...。結論としてWebGLでDOTS使いたいなら5000object程度に留めておいた方が良さそうです。過去作った全てを破壊したいUnityちゃん、というゲームでも1000object以下で収まるように調整してました。(WebGLではあれ以上街を広げられない)unityroom.comそれでも3倍はいけるというDOTSの実力には脱帽ですね。誰かunity1weekでドドドッと襲いかかってくるゾンビをひたすら撃ちまくるゲームとか作ってください。補足として偉大な先駆者maoさんがすでにunity1weekでDOTSにチャレンジされています。unityroom.com早速遊んでみたのですが僕の環境ではゲームをブラウザで開くとまともに動かずガクガクで...。githubにある動画ほどのスムーズさも見えず...。して自分のPCが弱いのでしょうか?このぐらいまともに遊べるぜ!って人PCスペック教えてください...。ソースまで公開されてます!神さま〜〜!github.comさらに補足スーギ・ノウコ自治区さんに教えていただきました!やはりWebGLは現時点でSIMDとマルチスレッドをサポートしていない様子。2020年1月21日ありがとうございます〜。2DでゆらゆらさせたかっただけなのにUnity久しぶりのUnityですお久しぶりです。