トップページ⇒tech
1001コメント288KB

【Avalon】WinFX を語るスレ Part5【Indigo】

レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん♯NGNG
Windows Vista Developer Center
http://msdn.microsoft.com/windowsvista/

WinFX SDK
http://winfx.msdn.microsoft.com/library/

Windows Vista
http://www.microsoft.com/windowsvista/default.mspx
http://www.microsoft.com/japan/windowsvista/default.mspx

過去スレ
Part4 http://pc8.2ch.net/test/read.cgi/tech/1090939006/
Part3 http://pc5.2ch.net/test/read.cgi/tech/1071150423/
Part2 http://pc5.2ch.net/tech/kako/1069/10693/1069394880.html
Part1 http://pc5.2ch.net/tech/kako/1067/10674/1067489881.html
0930デフォルトの名無しさん2006/02/11(土) 19:18:49
>>921
んな一言で説明できるようなもんでもないんだけどな。

とりあえず、Controlというオブジェクトが極端にでかい。たった一つのクラスで
ほとんど実装してるような感じだ。これを比較的素直にそのまま実装したWinForm
のControlクラスをildasmででものぞいてみればいい。アホのようにでかいから。
しかもこれはカーネルリソースを消費するわ余計な内部状態まで持つので同期を
しなくてはならない。

結果としてコントロールはもっと軽くなくてはいけないのに非常に重い仕組みに
なってしまっている。これの証明は簡単でIEでもOfficeでもMozillaでもそういう
ものがすべて「一つのコントロールに独自に描画」してることがはっきり示している。
CheckedListBoxがなんでCheckBoxの集合になっていない?ListBoxがなんで
Labelの集合になっていない?重いからだよ。

まあ、だからWPFはトップレベルコントロール以外にハンドルを持たせないように
なっている。
0931デフォルトの名無しさん2006/02/11(土) 19:27:18
>>930
それはWinFormsのラップの仕方が悪いと言わんか?
生APIや他のライブラリでは特に重く無いんだから。
あとブラウザが独自描画なのは、<input>タグを大量に並べたHTMLが
OSのリソースを消費してしまうと、ブラクラになるからだろ。
0932デフォルトの名無しさん2006/02/11(土) 20:59:51
NativeWindowで書き直せばそれなりに軽くなるお
0933デフォルトの名無しさん2006/02/11(土) 23:08:43
Native-Managed間の呼び出しがどうしても遅くなるから、
呼び出し回数の多いGUI系はどうしても遅くなる。
高速化のアプローチとしては処理の大半をNativeでするか、Managedでするかで
Native-Managed間の呼び出しを減らすのが肝心。
0934デフォルトの名無しさん2006/02/11(土) 23:39:49
WinForms の描画処理
http://d.hatena.ne.jp/ladybug/20060206#p1
0935デフォルトの名無しさん2006/02/11(土) 23:44:00
結論
重いのはWinFXまでの間に合わせに突貫工事で何も考えずにでっち上げたから。
0936デフォルトの名無しさん2006/02/12(日) 00:12:32
でも、とりあえず WinFXにしとけば早いんじゃねーの? そういうワケじゃねーの?
unmanageっても、MFCとか使うとメッセージ飛びまくりで遅いのは仕方がねー気がするから、
WTLにでも移行しとけでツルツル行かないかな。
0937デフォルトの名無しさん2006/02/12(日) 00:20:17
現状の.NETの問題点
1. 描画が遅い。WinFormsが糞、GDI+が糞
 → Vistaでの見通し: ○ ただしハード要件は高い。
2. 初回起動が遅い。
 → Vistaでの見通し: △ 解決されるはずだったが不透明。
3. シェル非対応。Win32依存大
 → Vistaでの見通し: × もうダメ。
0938デフォルトの名無しさん2006/02/12(日) 03:04:03
>>936
まぁそれが正解。

>>937
2 2.0の製品版のサービスに.NET Optimization Serviceってのがあるから調べてみ。
3.
WPFの構造だが、下位にMIL(Media Integration Layer)というのがある。これのさらにコア
部分がmilcore.dllというネイティブDLL。んでシェルはこれを使う。Win32じゃない。
シェルが.NETをホスティングしてくれるかについてはしらね。

どっちにしろWin32では非力すぎるので、中心になるものは今までのAPIセットで言えば
DirectX9に相当するもの(IDirect3DDevice9Exだな)。Win32依存が増えるということはない。
いや、DirectX9をWin32に含めて考える人や、「私は今までビジネスアプリでもDirectXで
やってましたよ」なんて人には依存が増えるといえるかもしれないが…。
0939デフォルトの名無しさん2006/02/12(日) 03:25:41
>>938
Optimization Serviceってngenをバックグラウンドでやるだけでそ。
初回起動は関知しないのでは。
何らかの形でWindowsでWinFXアプリが動いていれば生かされるが、
Optimization Serviceがあろうとなかろうと2回目以降は速くて問題ない。
問題は初回。
ただngenは良くなっている。

シェル非対応は決定事項で、milcore.dllとはまた別の互換性の問題。
0940デフォルトの名無しさん2006/02/12(日) 12:06:51
WinFormsがクソなのはWPFへの以降をスムーズにするためだよ。
そのくらい気づけよwww
0941デフォルトの名無しさん2006/02/12(日) 13:09:18
WPFも糞でしょwww
とっととMac互換のAPIでも用意すればいいのに
0942デフォルトの名無しさん2006/02/12(日) 14:02:03
>>923
遅レスだがSwingがおもいってのは最新のJDK1.5を使ってのことか?
0943デフォルトの名無しさん2006/02/12(日) 21:41:22
Vistaでも初回起動の遅さは改善されないの?
ひどいよゲイシ
0944デフォルトの名無しさん2006/02/12(日) 22:06:08
そうそう甘くはない
今のところVistaは全体的にもっさりな気が
0945デフォルトの名無しさん2006/02/13(月) 00:01:12
Vistaでは起動完了までゲイシの顔が代わりにポップアップします。
0946デフォルトの名無しさん2006/02/14(火) 06:33:43
まぁさ、糞とか言うのもいいけどさ、自分で代替物とか同じもの作れないくせに言うのもなんだかなぁ。

0947デフォルトの名無しさん2006/02/14(火) 06:55:06
>>939
遅レスだが

>シェル非対応は決定事項で、milcore.dllとはまた別の互換性の問題。
指摘してるのそこじゃねー。
新しいシェルどうみたってWin32じゃねーじゃないか。Win32はろくにアニメーションも
出来るような構造になってないのに。選択肢としてはDirectXを直で使ってるか
なんか新しいもの作ったかだ。
んでmilcoreに依存しているようなのでこれつかってシェル作ってんだろ。

そういえばMSはこれを非公開にする予定らしいが、となるとネイティブからは
Vista用の新しいUIは使えないことになる。どうするんだろ?C++/CLIかCLR
Hosting使えってか?
0948デフォルトの名無しさん2006/02/15(水) 01:42:06
> ネイティブからはVista用の新しいUIは使えない

使えるよん
0949デフォルトの名無しさん2006/02/15(水) 02:12:16
>>948
有識者?なら教えて。
調べてるんだけども、その方法、APIがまったく見つからん。
んーと、例えばちょっとボタンコントロールにトランスフォームを仕掛けた上で
Windowに貼り付けたいんだけど。具体的には斜めにするとか。
0950デフォルトの名無しさん2006/02/15(水) 21:51:14
>>943-944
現状で処理速度に期待するのはどうかと思うぞ。
2月のCTPで初めて全機能が乗るのであれば、バグ潰しや最適化はその後で行うはずだし。
0951デフォルトの名無しさん2006/02/15(水) 22:35:44
今のVistaってデバックモードでしょ。
リリース版はもう少し早くなってるはず
0952デフォルトの名無しさん2006/02/16(木) 00:21:00
いや、今までの経験則から早くなるって事はないだろ。
0953デフォルトの名無しさん2006/02/16(木) 01:00:30
>>952
経験則って何さ。現状デバッグコードが大量に入っているのは事実だろうし、
機能追加してるときに最適化なんて考えてないor優先されないのも事実だろ。

それにもうクライアントOS自体4, 5年出てないんだぜ?状況が変わりすぎてて
「経験則」とかいうもの自体あてにならん。
0954デフォルトの名無しさん2006/02/16(木) 02:07:26
>>953
あー、無理無理。早くなるなんてあり得ん。もっさりはもっさり。
0955デフォルトの名無しさん2006/02/16(木) 02:08:42
>>951

デバッグモードを使ったことないだろ? な。だから、今出てるのにでバックコードが大量に入ってるなんて言えちゃうんだよ。
0956デフォルトの名無しさん2006/02/16(木) 02:09:49
>>953

>現状デバッグコードが大量に入っているのは事実だろうし

ほう、ソースは?
0957デフォルトの名無しさん2006/02/16(木) 02:20:15
速かろうが遅かろうがどうせもっさりって言われるんだろ
0958デフォルトの名無しさん2006/02/16(木) 03:15:44
というかそんなのどうでもいい。
いつになったら仕様がFix(実装が終了)したbeta出すんだ?
今月のやつがそうだっけ?
0959デフォルトの名無しさん2006/02/16(木) 09:02:48
つーか、年末商戦に間に合うようにVista発売だってよ。
もう、大きな手を加えるのは無理だな。

ほぼ今の状態で発売だろ。せいぜい Plus みたいなオプションがつくぐらい。
0960デフォルトの名無しさん2006/02/16(木) 12:32:43
>大前研一:技術はあっても構想のない国・日本
>ttp://nikkeibp.jp/wcs/leaf/CID/onair/jp/biz/422323
>Xbox360の描く未来に太刀打ちできる企業は存在しない

やっぱ、WinFX/PC〜罰箱でしか未来の構想は実現できないんだおね。
0961デフォルトの名無しさん2006/02/16(木) 13:55:18
やっぱり大前は気違いだった。もしくは詐欺師
0962デフォルトの名無しさん2006/02/16(木) 14:51:17
Linuxですらこんな派手にしようとしてるのに、Aero Glassおとなしいね
http://www.linuxedge.org/?q=node/55
http://www.freedesktop.org/~davidr/xgl-demo1.xvid.avi
0963デフォルトの名無しさん2006/02/16(木) 15:14:49
>>949
948ではないが・・・
内容をちゃんと読んでいないが、
↓あたりが多少参考になるかもしれない
http://blogs.msdn.com/nickkramer/archive/2005/07/18/440085.aspx
0964デフォルトの名無しさん2006/02/16(木) 17:55:37
>>960

NECのPCエンジン構想を思い出すな。
0965デフォルトの名無しさん2006/02/16(木) 23:01:02
>>960
大前の理論から言うと
一昔前のNHKヒット作品はアメリカドラマ(ER)ってことになるな。
0966デフォルトの名無しさん2006/02/16(木) 23:56:53
>>962
でも、まあ、Linuxは敵じゃねーよ。デスクトップではさ。問題はIntelマック。
0967デフォルトの名無しさん2006/02/17(金) 00:00:13
Intel Macはハードウェアじゃん。
Mac OSXがMacというハードウェアでしか動かない以上、
Macというハードウェアの数までしか普及しないから敵にはならん。
真似されて終わり。
0968デフォルトの名無しさん2006/02/17(金) 00:12:38
スレ違いの上に板違いの上に糞つまらん
0969デフォルトの名無しさん2006/02/17(金) 00:18:14
>>949
それは無理でしょ。
VistaのIEとかShellがななめってるコントロール使ってますか?
0970デフォルトの名無しさん2006/02/17(金) 00:40:44
>>969
それはなんて名前のコントロールですか?
どうやって使うのですか?
0971デフォルトの名無しさん2006/02/17(金) 01:47:19
Spy++でみる限り普通の標準コントロールだったんだけど
0972デフォルトの名無しさん2006/02/17(金) 05:04:28
>>963
眺めてみた。
なんかダメそうだな。構造上はWin32の上に構築されているようだが新しい環境の
実体はほとんどマネージコードのような印象を受ける。あ、その先はWin32とAvalonの
関係とかAvalonからHWndつかおうとかその逆とかそういう話のようだよ(つまり望んで
いるのとちと違う、参考にはなるが)。

>>971
そりゃ、Win32の上にあるのだもの。俺が挙げているのは主にそのHWndの中だ。
あのレベルの描画は現状ならDirectXを使わないと出来ない。でもDirectXは
非常にPureすぎてこういうビジネスアプリに使うのにはとてもむかないのよ。

だから上位にそれ用のレンダリングエンジンやらレイアウトエンジンやらタイマー
やらのネイティブライブラリでも作っているはずでそれを直接使うことが出来
ないか?という話(のつもり)だった。

結論としてはそういうものはマネージからしか使えなさそうだな。
素直にマネージ使いますか。…というかアンチがよくいうWin32が主体とかいうの、
こんなレベルの扱いでいってるのか?互換維持以上のレベルに見えない。
0973デフォルトの名無しさん2006/02/17(金) 12:14:21
お前が「ボタンコントロール」って言ったから
ExplorerのボタンはHWNDだって答えただけなんだけど。
AvalonのボタンはPresentaionFramework.dllに入ってるんだから、
そりゃネイティブから直接呼ぶのは無理だろ。
0974デフォルトの名無しさん2006/02/17(金) 13:21:53
>>964
コア構想の事?
0975デフォルトの名無しさん2006/02/17(金) 20:17:39
>>974
RXシリーズのこと?
0976デフォルトの名無しさん2006/02/18(土) 13:32:52
ちょい質問。ファイルとして XAML 喰わせて GUI 作るのって、自作するか MyXaml つかうか
しかないの?
0977デフォルトの名無しさん2006/02/18(土) 14:19:44
>>976
このすれよめ
コードネームCiderというGUIツールがある
0978デフォルトの名無しさん2006/02/18(土) 14:58:41
>977
Cider は VS 拡張のデザイナでしょ? XAML 用の CodeDOM の事言ってるんだけど
0979デフォルトの名無しさん2006/02/23(木) 03:05:39
http://blogs.msdn.com/tims/archive/2006/02/22/536985.aspx
0980デフォルトの名無しさん2006/02/23(木) 08:54:33
おお、ついに WPF の API はフィックスですか
0981デフォルトの名無しさん2006/02/23(木) 12:36:44
GoLiveまだ?
0982デフォルトの名無しさん2006/02/23(木) 12:44:48
Avalonまだ?
0983デフォルトの名無しさん2006/02/23(木) 12:45:34
WinFSまだ?
0984デフォルトの名無しさん2006/02/23(木) 12:58:28
Longhornまだ?
0985デフォルトの名無しさん2006/02/23(木) 15:46:19
Feb CTP は日本語リソースもあるんだな
0986デフォルトの名無しさん2006/02/23(木) 22:09:04
コンボボックスがよくなった
0987デフォルトの名無しさん2006/02/24(金) 07:33:42
そういやdwmapi.hとかあるな
0988デフォルトの名無しさん2006/02/24(金) 08:36:49
リリースノートに Vista ではWindowsの構成に移ったと書いてあるから、WinFX は
Vista にちゃんと標準でインストールされるんだな。デフォルトで入るかどうかはわからんが
0989デフォルトの名無しさん2006/02/24(金) 11:29:11
そりゃ入るだろ。デフォルトでロードされるかどうかはわからんが
0990デフォルトの名無しさん2006/02/24(金) 12:23:18
デフォルトでインストールされているかどうかは確認してみないとわからない。
0991デフォルトの名無しさん2006/02/24(金) 13:09:15
http://www.itmedia.co.jp/enterprise/articles/0602/23/news005.html
0992WinFX終わった2006/02/25(土) 14:03:30
やっぱ5308だとデフォルトではインストールされてなかった。
残念!これが現実!!
0993デフォルトの名無しさん2006/02/25(土) 17:43:32
WinFXは死滅しちゃったww
時代はAJAX、Java、PHPですか・・・
クライアントはC++でゴリゴリ
0994デフォルトの名無しさん2006/02/25(土) 18:20:02
WinFXは死なぬ。何度でも甦るさ
0995デフォルトの名無しさん2006/02/25(土) 19:51:45
埋め
0996デフォルトの名無しさん2006/02/25(土) 19:52:24
埋め
0997デフォルトの名無しさん2006/02/25(土) 19:53:14
梅
0998デフォルトの名無しさん2006/02/25(土) 19:53:49
998
0999デフォルトの名無しさん2006/02/25(土) 19:54:40
↓任せた
1000デフォルトの名無しさん2006/02/25(土) 20:01:22
ズリー千
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。