パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

2DグラフィックスライブラリCairo、ISO C++規格の一部になるかも」記事へのコメント

  • http://people.mozilla.org/~roc/Samsung/Mozilla2DGraphics.pdf [mozilla.org]
    ここでFirefoxがCairoを捨てた理由が述べられてるけど、ステートフルなAPIってのが駄目らしい。
    デファクトになりつつあるskiaとかDirect2Dはステートレスで、実際Firefoxが使うようになって早くなった。
    (Linux版も次の27でskiaを使うようになるようだ)

    そんな逆風が吹いている中でだけに、このニュースは意外だ。
    それだけ設計や実装が綺麗だということなんだろうね。これで開発に弾みがついてくれればいいけど。

    • by Anonymous Coward

      注文したら一瞬で出てくるというのは本当だったのか

      #それはすき家
      ##GOTOが多かったりしたら嫌だな

      • by Anonymous Coward

        「ステートレス」って待ち時間がないことだと思ってますか?

        • by Anonymous Coward

          こっちかも。> Firefoxが使うようになって早くなった

    • by Anonymous Coward

      設計が奇麗というか、ステートフルなAPIはレガシーコードを残したまま拡張が可能という特徴がありますので、そこが評価されてるんじゃないでしょうか。
      ただ、こういったコンテキストにグローバル変数を持たせるような構造はモジュール化を酷く阻害するんですよね。
      性能が出ない上に教育にも悪いといった結果にならなければいいのですが。

    • by Anonymous Coward

      ステートフルといったら、十数年前 OpenGL の入門書を読んだ時にも、それはステートフルだと思ったけどな、最近はどうなの?今も同じなら、OpenGL はやっぱり遅いということになるの?

      C++ 用だということは、Template あたりで実装されて、コンパイラで最適化したら速くなったりしないのですかね。

      • by Anonymous Coward

        ステートフルだから遅いとか速いとかそういうことではなく、
        現代のブラウザで描画ライブラリとして使うには相性が悪いということ。
        リンク先のPDFでは
        「CSSはステートレスだし、CanvasはステートフルだがCairoのものとは別物だ。
         だからステートフルな描画ライブラリだとステート管理が大変になる」(結果として遅くなる)
        みたいなことが書いてある。

        • いや、事前に幾つもステートを用意しておいてそれを指定するやり方と比べて、
          ステートフルだと何かする度に毎回状態を書き換えないといけないから一般論として遅いと言っていいと思うよ。
          ステートレス≧ステートフルなイメージだけど。

          ようするに、同じステートで後で描画する為にステートを(メモリ)コピーしておかなければ
          いけないのが直接的な遅い原因だと思う。
          OpenGLで言えば、glPushMatrix()は単純にMatrixをメモリコピーしてて超遅い。
          何度Matrixのポインタを直接指定できないのかと思ったもんだ…(遠い昔の記憶)

          親コメント

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

処理中...