タグ

ブックマーク / mjt.hatenadiary.com (3)

  • ゲーム向けファイルシステムの設計の難しさ - .mjtの日記復帰計画

    ゲーム向けのファイルシステム抽象化は近年超クッソ激烈に複雑化しており、大分手を付けられない問題になってきた。 ゲーム配布/ストレージ様式の変化 ...とにかく歴史的に様々な方式が使用されている。例えば、ゲームを発売後パッチするにはHDDやSSDのようなFSを持った大容量ストレージが必要になるが、それが可能になったのは2001年以降(PS B.B. Unitやoriginal Xboxなどの登場以後)と言える。(サテラビュー('95)やDreamcast('98)のようなプラットフォームでもDLCの類は存在したがゲームの不具合修正をpost releaseで行う目的には使えなかった。) PS4ではプログレッシブダウンロード(ゲームを複数セグメントに分割し、一部のダウンロードが完了した段階で起動許可)をサポートしているが、導入自体はPS3版The Last of Usの方が早い( https:

    ゲーム向けファイルシステムの設計の難しさ - .mjtの日記復帰計画
  • VNCがRFCになっていた - .mjtの日記復帰計画

    VNCのプロトコルであるところのRFB(Remote Frame Buffer)プロトコルがRFCになっていたようだ。 https://tools.ietf.org/html/rfc6143 RFCの通り、VNCのプロトコル番号もIANAが管理している。 http://www.iana.org/assignments/rfb/rfb.xml 個人名がバンバン出ているあたりがインターネットのプロトコルらしい。実際、RFBは伝統的にコミュニティ主導で構築され明確な管理はされてこなかった。近年ではTigerVNCがこれらの拡張の集約をしていたが、この役割がIANAに移ったことになる。 もっとも、RFC 6143を推しているVNC実装は今のところあまり無いようだ。そもそもRFBがプロトコルの名前なのでRFBクライアントとかサーバのように呼ばれるような気がするが、VNCの方が有名なのでそちらが使われ

    VNCがRFCになっていた - .mjtの日記復帰計画
  • Node.jsのプラットフォーム抽象化ライブラリlibuv - .mjtの日記復帰計画

    https://github.com/joyent/libuv Node.jsは、WindowsのIOCPによる非同期I/Oに対応するのを機に、プラットフォーム抽象化層を分離して別のライブラリにまとめるようだ。これには、c-ares(非同期DNSリクエストライブラリ)やlibevのような外部ライブラリも同時に含まれている。(BSDL) nmoshは次のバージョンではWindowsのIOCPとMacOS X/FreeBSDのkqueueによる非同期I/Oをサポートする予定で、同様の抽象化層を自前で持っている(ただしCではなくScheme側で切っている)。libuvのようなライブラリに外注するのは良いアイデアに思えるけど : Node.jsはシングルスレッドを前提にしたデザインであるため、(おそらく)libuvはスレッドセーフでない。 nmoshは"Schemeを使って(EthernetやUS

    Node.jsのプラットフォーム抽象化ライブラリlibuv - .mjtの日記復帰計画
  • 1