Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

通信プロトコルから見る艦隊これくしょん on 第十回 カーネル/VM探検隊

  • Soyez le premier à commenter

通信プロトコルから見る艦隊これくしょん on 第十回 カーネル/VM探検隊

  1. 1. 通信プロトコルから見る 艦隊これくしょん 藤枝 和宏 @kfujieda ftp.jaist.ac.jpの中の人 2014/5/25 第十回 カーネル/VM探検隊 1
  2. 2. 艦隊これくしょん • Adobe Flashで動作するブラウザゲーム • 操作のレスポンスが非常に悪かった 2014/5/25 第十回 カーネル/VM探検隊 2
  3. 3. レスポンスが悪い理由 • 通信プロトコル(REST API)に無駄が多かった • リクエスト数が無駄に多い • レスポンスのJSONが無駄に大きい • JSONのデコードが遅かった • as3corelibのJSONデコーダーが使われていた(たぶん) • ActionScriptで書かれていて遅い 2014/5/25 第十回 カーネル/VM探検隊 3
  4. 4. 4月23日に全面改良 • 春イベント「索敵機、発艦始め!」の開始日 • イベント期間中はDAUが大きく増える • 過去のイベントでは通信エラーが頻発 • イベントに合わせて大幅改良 • 通信プロトコルの改良 • クライアントの改良 • Flash 11のネイティブJSONデコーダーを使用(たぶん) 2014/5/25 第十回 カーネル/VM探検隊 4
  5. 5. 支援ツールの開発者が死亡 2014/5/25 第十回 カーネル/VM探検隊 5
  6. 6. KancolleSniffer kancollesniffer.sourceforge.jp • 艦これの支援ツール • 情報の一覧表示 • 自動式タイマー • 遠征、入渠、建造など • 通信をキャプチャして実現 • Windowsのシステムプロキ シを乗っ取る 2014/5/25 第十回 カーネル/VM探検隊 6
  7. 7. ログイン(旧) • スタート画面から母港ま で17リクエスト • マスターデータのリクエ スト数が多い • まとめるとJSONのデ コードが間に合わな いからか 2014/5/25 第十回 カーネル/VM探検隊 7 S1 /sound/titlecall/b/01.mp3 20kB /api_get_member/basic 1kB /api_get_master/ship 561kB /api_get_master/stype 2kB /api_get_member/ship 108kB /api_get_member/deck 1kB /api_get_member/material 0kB /api_get_member/kdock 1kB /api_get_master/furniture 82kB /api_get_member/furniture 7kB /api_get_master/slotitem 91kB S2 /sound/titlecall/c/06.mp3 36kB /api_get_member/slotitem 183kB /api_start 259kB /api_get_master/useitem 9kB /api_get_member/useitem 1kB /api_get_master/maparea 1kB S3 /sound/kc403/1.mp3 46kB 合計(mp3以外) 1.34MB
  8. 8. ログイン(旧)の問題 • /api_get_master/ship 561kB • 艦娘と深海戦艦全部の仕様 • 55プロパティのオブジェクトが約400 • 遅いCPUではデコードが間に合わない 「ムービー内のスクリプトが原因で実行速度が遅くなっています。」 • /api_get_member/slotitem 183kB • 保有装備の情報 • 名前を含む装備の仕様が入っている • 12.7cm連装砲が20個あれば”12.7cm連装砲”が20個 2014/5/25 第十回 カーネル/VM探検隊 8
  9. 9. ログイン(新) • スタート画面から母港 まで9リクエスト • マスターデータの取得 を集約 • slot_itemの縮小 2014/5/25 第十回 カーネル/VM探検隊 9 S1 /sound/titlecall/b/08.mp3 56kB /api_start2 1,069kB /api_req_member/get_in… 0kB /api_get_member/basic 1kB /api_get_member/furniture 11kB /api_get_member/slot_item 21kB /api_get_member/useitem 1kB /api_get_member/kdock 1kB /api_get_member/unsetslot 2kB S2 /sound/titlecall/c/08.mp3 35kB /api_port/port 69kB S3 /sound/kcfggcskrfkpnr/1.mp3 65kB 計(mp3以外) 1.18MB
  10. 10. • 旧クライアント • 新クライアント 解体 2014/5/25 第十回 カーネル/VM探検隊 10 /api_req_kousyou/destroyship 0kB 解体指示 /api_get_member/material 0kB 資材数 /api_get_member/ship2 57kB 全艦娘の状態 /api_get_member/slotitem 183kB 保有装備 /api_req_kousyou/destroyship 0kB 解体指示
  11. 11. 補給 • 旧クライアント • 新クライアント 2014/5/25 第十回 カーネル/VM探検隊 11 /api_req_hokyu/charge 0kB 補給指示 /api_get_member/ship2 57kB 全艦娘の状態 /api_req_hokyu/charge 0kB 補給指示
  12. 12. 母港 • 旧実装 • 新実装 • 毎回全艦娘の状態を取得するのは同じ 2014/5/25 第十回 カーネル/VM探検隊 12 /api_get_member/material 0kB 資材数 /api_get_member/deck_port 1kB 艦隊編成 /api_get_member/ndock 1kB 入渠情報 /api_get_member/ship3 54kB 全艦娘の状態 /api_get_member/basic 1kB 提督の情報 /api_port/port 63kB 全部まとめて
  13. 13. 支援ツールへの影響 • 操作後に現状確認するリクエストが出ない • 情報を取得する機会が激減 • KancolleSnifferはリクエストのパラメータを基に計算 • 解体→艦娘数-1、装備数-n • 母港に戻ると現状確認するのは同じ • 母港に戻ったときに情報更新すればよい 2014/5/25 第十回 カーネル/VM探検隊 13

    Soyez le premier à commenter

    Identifiez-vous pour voir les commentaires

  • iwathi

    May. 25, 2014
  • tomohicotakahashi

    May. 25, 2014
  • kaindu

    May. 25, 2014
  • syundo

    May. 25, 2014
  • takashiaoe

    May. 25, 2014
  • masahikoshimoyama

    May. 25, 2014
  • MakotoTakebayashi1

    May. 25, 2014
  • Clipping-Path-House

    May. 25, 2014
  • syuichitsuji

    May. 25, 2014
  • giginet

    May. 25, 2014
  • suzuka0506

    May. 25, 2014
  • YuukiKunitake

    May. 25, 2014
  • ToshikiSato

    May. 25, 2014
  • k0ta0uchi

    May. 25, 2014
  • hkoba

    May. 26, 2014
  • hamasyou

    May. 26, 2014
  • tellzeta

    May. 27, 2014
  • aki_77

    Jun. 6, 2014
  • tatsuyaarai7758

    Mar. 2, 2015
  • MasaruKase

    Apr. 18, 2015

Vues

Nombre de vues

13 766

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

1 449

Actions

Téléchargements

22

Partages

0

Commentaires

0

Mentions J'aime

29

×