Microsoft Developers Conference 2006 ― T1-301 Windows Presentation Foundation ("Avalon")による新しいアプリケーションユーザインタフェースの実現

先日から随分と登場していた(らしい)"Avalon"の開発者向けセッション.基調講演に*1出席していなかったこともあって,開発環境まで含めた WPF の完成具合を見たのはこれが初めてになります.
見た限りでは,表示画面も開発環境も正視出来る速度で動いていましたし,方向性としても着実に固まっているようでした.このデモを見て Windows Vista の年内発売というのがやっと実感として受け入れられるようになったかな.
細かいところで気付いたこととしてはズーミング User Interface を実装する敷居が相当下がっていそうなところですかね.増井俊之さんの提唱されているLensBarや,Teddy で有名な五十嵐健夫さんが Microsoft Research 時代に研究されていた『Speed-dependent Automatic Zooming for Browsing Large Documents』のようなものがどんどん登場してくることが期待できそうでした.
個人的に気にしているパフォーマンスに関しても,トップレベルウィンドウとメニューやツールチップなどの一部の特殊ウィンドウのみをWin32ウィンドウとし,後はクライアント領域に完全自前描画になったことで,やっと Internet ExplorerFirefox と同じ土俵に上がることができました.要はこれまで WinForms が重かったのはアルゴリズム的問題があったということなわけですが,今まで単に「.NET だから重い」と思っていた人はもう一度評価し直すべきときがいよいよ来たかと思います.
正直なところ,現行のノベルゲームを作りたいなら描画エンジンは WPF の提供する機能で十分なのかもしれません.Windows ゲームに関係しない方も,『Windows Presentation Foundationプログラミング』は一読されて損は無いかと思います.DirectXでおなじみの川西さんの翻訳です.自作のエンジンについて必要機能用件を絞り込むのにも参考になるでしょう.

Windows Presentation Foundationプログラミング

Windows Presentation Foundationプログラミング

*1:隣のホテルに泊っていたにも関わらず寝過ごしてしまったため

Microsoft Developers Conference 2006 ― T2-501 次世代開発基盤技術"Software Factories" Part2

萩原正義さんの "Software Factories" に関する講演.

  • "Software Factories" は全てに適応可能なテクノロジではなく,あくまで工業化可能なソフトウェアを工業化するためのもの.
  • AOP に関する Microsoft の分析では,AOP が適用可能な範囲はそう広くはない.
  • 意志決定での一貫した方針,説明責任を.

個人的には「Design Structure Matrix」のデモが見られたのが収穫ですかね.
http://www.dsmweb.org/
http://www.itid.co.jp/03program/dsm.htm
http://www.atmarkit.co.jp/fdotnet/softfactory/softfactory08/softfactory08_02.html
というのも,あちこちで言われている「DirectX はバージョンが変わるたびに互換性が無くなって困る」という通説の背後には共通の構造があって,多くの人々が嵌る問題は構造的に嵌るべくして嵌っていると常々思っているわけですが,そういうのをちゃんと示すためには設計屋さんの言葉に耳を傾ける必要があるかなと.

Microsoft Developers Conference 2006 ― T1-302 Windows Vistaの新しいメディア&グラフィックスAPI:Media FoundationとDirect3D 10

川西さんの講演.
IDirect3DDevice9Ex,Direct3D 10 絡みではまあ基本的に知っている話ばかりだったのですが,Media Foundation と Windows Vista のシステムレベルでの新機能については今まであまりチェックしていなかったので参考になりました.
Windows Vista のシステムレベルでの新機能は,DirectX に限らず全てのリアルタイム指向アプリケーションが恩恵を受けられるものです.追加された機能は次のようなものです.

  • Multimedia Class Scheduler Service (MMCSS)
  • Thread Ordering
  • RT Heap Manager
  • Scheduled File I/O

これらの機能はいずれも google:Windows Audio Video Excellence(WAVE) というプロジェクトの一環としてカーネル側に取り込まれた機能のようです.ゲーム屋さんは少なくともチェックしておいた方がいいとして,「もっさり」かどうかをやたら気にする一部の方向けのブラウザや開発環境にも,RT Heap Manager や Thread 周りの新 API は使い道がありそうに思っています.とりあえず 2GB ぐらいそのアプリケーションに(ページアウト禁止で)貼り付けるとか.

Microsoft Developers Conference 2006 ― T2-206 新たなファイルシステム"WinFS"の方向性とその概要

mei さんも書かれていますが(id:akiramei:20060203:p2),「WinFS はこんなポテンシャルを秘めていますよ」ではなく,「WinFS を使ってこんなすごいソフトができました」で1つ2つ同時リリースしないと,鶏と卵の問題に直面しそうな気が私もします.
講演ではパフォーマンスについてあまり詳しい紹介はなされていませんでしたが,例えば SQL Server 2005 Express に対してどれぐらいのパフォーマンスであるかといったことはそろそろ(例え遅くても)どんどん前面に出して欲しいところです.
あと,WinFS も独自のクエリクラスのようなものを持っているのですが,LINQ という方向性が打ち出されてしまったことで WinFS 側にも変更を入れるのか,それともこのままいくのかについては気になるところ.