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

【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/11/08(水) 10:43:18
あたらしいGUI FW、WPFについて語るすれ。

.NET3.0もリリースされて盛り上がってまいりますた。

WPF on MSDN
http://msdn2.microsoft.com/en-us/netframework/aa663326.aspx

.NET3.0
http://www.netfx3.com/blogs/news_and_announcements/archive/2006/11/06/.NET-Framework-3.0-has-been-released_2100_.aspx

WPF Mashup on YOUTUBE
http://www.youtube.com/watch?v=BUBOQFvh6yI

0451デフォルトの名無しさん2007/09/26(水) 21:04:56
で、C##が誕生するのか
0452デフォルトの名無しさん2007/09/27(木) 01:30:33
>>450
実行時にプロパティを付けたり外したりってまさにLL言語の十八番だと思うけど。
0453デフォルトの名無しさん2007/09/27(木) 20:25:49
>>452
いや、単にプロパティを追加するってのではなくて、
別クラスのプロパティを持てるってのがポイント。

そりゃ、LL言語のプロパティの動的追加機能を使って、
obj.ClassNamePropertyName
みたいな書き方すれば似たようなことはできるかもしれないけど、
それはちょっとなぁ。美しくない。
0454デフォルトの名無しさん2007/09/27(木) 23:39:00
>>453
property missingをフックして親のチェーンをたどるとか。
そういうのじゃだめ?
0455デフォルトの名無しさん2007/09/28(金) 00:19:26
>>454
型Aのオブジェクトaに プロパティ B.Name と C.Name を設定したいとき
LL言語で

a.Name = "あ"
a.Name = "い"

とすると二行目でプロパティが上書きされてしまうので、
>>453の書き方が必要という話だと思うけど、

> property missingをフック

するとどういう書き方になるの?
0456デフォルトの名無しさん2007/09/28(金) 16:39:24
依存プロパティをコード中で使うための構文
obj.SetValue(Class.Property, value);
ってのを、LL 言語を使えば
obj.Class_Property = value;
とか書けるのは書けるだろうけど。

それができて嬉しいとはさほど思えない。
書きやすさのメリットは確かにあるけども、
普通のプロパティと依存プロパティの区別が付かなくなることにはデメリットもあると思う。
0457デフォルトの名無しさん2007/09/28(金) 17:31:19
>>456
んー
>普通のプロパティと依存プロパティの区別が付かなくなることにはデメリットもあると思う。

LLを静的言語風に使おうとしている雰囲気がするけどどうなんだろねえ

例えば何でもいいから obj ってインスタンスのがあって、
たとえば ImportDP( obj, Class ) みたいに書くと
Class に定義されている依存プロパティが obj にインポートされて
以降そのインスタンスに限って obj.Property = value と書けるようになるとか。

事前に一括コンパイルする訳じゃないんだから
ソースを見て「これは普通のプロパティ」「これは依存プロパティ」とか
そこまでこだわりながらプログラミングするものかねぇ。

たとえば obj.HogeHoge って書いておきながら
実際に Hogehoge という何かがなかったとしても
プログラムがそこを通らなければ問題なしって世界だよ?
0458デフォルトの名無しさん2007/09/29(土) 00:23:04
なるほどな。
LLでできそうだ。
自分の子供には、自分に必要なプロパティを追加すればいいんだもんな。
0459デフォルトの名無しさん2007/09/29(土) 10:53:17
そしてIDEのデザインモードは壊滅
0460デフォルトの名無しさん2007/10/09(火) 05:24:51
とりあえず依存プロパティをGetValueするときにキャストが必要なのはなんとかしてほしいな。

C#4.0待ち?
0461デフォルトの名無しさん2007/10/12(金) 00:21:03
http://msdn2.microsoft.com/ja-jp/library/ms750559(VS.80).aspx
NotifyIcon 同等のコントロールはありません。
となってるんですが、つまりWPFに通知領域にアイコンを表示するコントロールはないってことですか?
0462デフォルトの名無しさん2007/10/22(月) 08:44:04
>>461
ttp://msdn2.microsoft.com/en-us/library/aa972170.aspx
とかダメなん?
詳しく読んでないけど。
0463デフォルトの名無しさん2007/10/22(月) 09:07:48
シェルとのやり取りはWPFの仕事じゃないから、無くて当然な気もするな。
0464デフォルトの名無しさん2007/10/22(月) 20:39:22
>>462
いえ、全然駄目なことないです、自分も素直にFormsのNotifyIcon使おうかなと思ってたので
ただWPFだけで機能が完結してる方がなんとなく綺麗かなと
>>463
結局そういうことなんでしょうね
0465デフォルトの名無しさん2007/10/22(月) 23:04:11
とはいえコモンダイアログ系は Microsoft.Win32 に移ったんだから
NotifyIcon とかもそっちでやって良かったと思う今日この頃

質問です。
RichTextBox で IsReadOnly を true にするとキャレットが消えてしまうんですが、
WinForms の RichTextBox.ReadOnly と同じように
書き込めないけどキャレットの操作可能って状態にはできないもんでしょうか。
0466デフォルトの名無しさん2007/10/24(水) 01:42:54
FileDialogはMicrosoft.Win32なのに、
PrintDialogはSystem.Windows.Controlsという謎仕様。
そしてColorDialogは存在すらしない…
0467デフォルトの名無しさん2007/10/24(水) 02:55:19
FileDialog→C++/CLI→Microsoft.Win32
PrintDialog→C#→System.Windows.Controls
ColorDialog→J#→ぬるぽ
0468デフォルトの名無しさん2007/10/25(木) 02:09:17
PrintDialog → 印刷はWPFの守備範囲だぜ → System.Windows.Controls
FileDialog → WPF関係ないんじゃね? → Microsoft.Win32
ColorDialog→ おまいら、もっと素晴らしいダイアログ作れ → ×
0469デフォルトの名無しさん2007/10/26(金) 07:04:57
音声認識・合成面白そうなんだけどXPじゃしんどいなぁ…
nliteでいろいろ弄った所為かSDKやらOfficeやらインスコしてもSAPIを認識してくれないorz
精度気にしなくていいからニコニコとかピアキャス・ネトゲ用に支援ツール作れば受けそうなのに
0470デフォルトの名無しさん2007/10/26(金) 15:22:56
Expression Blend で実行すると上手くいくのに、
Visual Studio 2005 で作成すると、メニュークリック時に落ちる…。何故?

<Grid x:Name="LayoutRoot">
 <DockPanel LastChildFill="False">
  <Menu VerticalAlignment="Top" DockPanel.Dock="Top">
   <MenuItem Header="ファイル">
    <MenuItem Header="新規作成" />
    <MenuItem Header="開く" />
   </MenuItem>
  </Menu>
 </DockPanel>
</Grid>


0471デフォルトの名無しさん2007/10/30(火) 07:53:48
Acropolisプロジェクト終了のお知らせ
ttp://blogs.msdn.com/acropolis/archive/2007/10/29/An-Acropolis-Update.aspx

Codename Maxといい、WPFを使ったプロジェクトは呪われてるな
0472デフォルトの名無しさん2007/10/30(火) 17:08:17
WPFは素人を騙すデモアプリになら結構使えるよ
0473デフォルトの名無しさん2007/10/30(火) 17:29:01
何これプロパティウインドウでイベント選べないのかよ糞過!
とか思ってたのに慣れてくるとこっちの方が良く感じてくるから怖い
0474デフォルトの名無しさん2007/10/30(火) 18:15:17
>>471
VS2008に統合するって話じゃないか?
0475デフォルトの名無しさん2007/10/30(火) 18:56:12
>>474
WinFSは死なずにKatmaiに取り込まれる、みたいな建て前の話だろ
0476デフォルトの名無しさん2007/11/01(木) 01:35:01
ならいいじゃん
0477デフォルトの名無しさん2007/11/07(水) 03:38:17
WPFを勉強しようと思うんだが、お勧めの本ってある?
C#でそれなりなものが組めて、ベータを少しいじったくらいのレベルなんだけど?
0478デフォルトの名無しさん2007/11/07(水) 08:53:56
本なんて少ししか出ていないから、全部立ち読みしてみて選んだら良い。
0479デフォルトの名無しさん2007/11/07(水) 19:26:09
msdn2 の日本語訳版でも読めばいい
0480デフォルトの名無しさん2007/11/07(水) 21:38:56
>>477
ttp://adamnathan.net/wpf/
これがヨカッタ。
フルカラーだし。

0481デフォルトの名無しさん2007/11/08(木) 16:07:40
WPFだとD3Dデバイスの管理はCLRの中の人がやってくれてるんですか?
0482デフォルトの名無しさん2007/11/08(木) 16:11:33
WPF の中の人の構造はよく知らないけど、
使う方からみて D3D デバイス管理的なことは全くする必要ない。
0483デフォルトの名無しさん2007/11/11(日) 09:48:33
http://msdn2.microsoft.com/ja-jp/library/ms743714(VS.80).aspx

の下の方の図を見ると、
SessionEndingの後にExitが呼び出されるように見えるのですが、
皆さんの環境ではこの通りに動いてますか?

こちらの環境でログオフを行うと、SessionEndingが呼び出された後、
Exitが呼び出されずにそのままアプリケーションが終了してしまいます。
0484デフォルトの名無しさん2007/11/20(火) 23:30:49
WPFでチャート描きたいときって
Windows.Formsと同じで標準ではチャートコントロールないよね?
WPF用でなにか定番のソフトとかってある?
0485デフォルトの名無しさん2007/11/20(火) 23:38:49
とりあえずWindowsFormsHost使ったら
0486デフォルトの名無しさん2007/11/21(水) 08:06:13
ttp://www.infoq.com/jp/news/2007/11/ironruby-silverlight
XAMLんが短いけどな。
なんつーか良くも悪くもRubyだ。
0487デフォルトの名無しさん2007/11/21(水) 11:20:47
階層構造書くのは XML な XAML の方が見やすいと思うんだけど。
ほんと、良くも悪くもだなぁ。
0488デフォルトの名無しさん2007/11/21(水) 17:09:34
静的に定義できる部分はXAMLで
動的にやりたい部分はRubyで書けるのかな。
0489デフォルトの名無しさん2007/11/21(水) 18:12:18
>>488
Silverlight 1.1 はそれが出来るように作ってるはず。
IronRuby、Silverlight でぐぐればそういう話が出てくる。
0490デフォルトの名無しさん2007/11/21(水) 18:29:49
1.0でもaddメソッド使えば動的に要素追加できるんだと思ってたけど駄目なの?
0491デフォルトの名無しさん2007/11/21(水) 22:45:17
JScriptでいいなら出来る
0492デフォルトの名無しさん2007/11/21(水) 23:35:09
実行中のプログラムウインドウのレイアウトをxamlに書き起こすメソッドってありますか
0493デフォルトの名無しさん2007/11/22(木) 13:48:59
つ XamlWriter.Save
0494デフォルトの名無しさん2007/11/22(木) 19:50:46
>>493
うおお、まさにこれです、ありがとうございました!
0495デフォルトの名無しさん2007/11/24(土) 12:14:35
WPF重すぎてつかえねぇよ・・・
何年経てば実用的な速度で動くようになるんだろうな
0496デフォルトの名無しさん2007/11/24(土) 12:41:01
3Dでアニメーションはまだ、実用的な速度は出ないよ。
2Dアニメーションや静止画3Dなら使える。
0497デフォルトの名無しさん2007/11/24(土) 13:05:45
だな、2Dも実は重いんだろうけど見た目でなんとなく誤魔化せる
0498デフォルトの名無しさん2007/11/26(月) 17:07:31
xamlでgifアニメーション動かせます?
静止画としてしか表示できないのかな
0499デフォルトの名無しさん2007/11/26(月) 17:35:22
>>495
CPUのクロックが10GHzに到達するころじゃない?
あっという間だね^^
0500デフォルトの名無しさん2007/11/26(月) 18:24:08
当分来ないなw
0501デフォルトの名無しさん2007/11/26(月) 21:52:51
>>498
xamlだけじゃ無理のはず。
何とかしてgifアニメのインターバルを取得してこないといけない。
0502デフォルトの名無しさん2007/11/26(月) 22:15:18

なんでWPFなのにCPUクロックの話になるんだ
0503デフォルトの名無しさん2007/11/27(火) 01:21:20
WPFというか、グラフィックス関連に無知識なやつがCPU速度と騒ぐんだよな。
フレームバッファとかスクリーンバッファも知らないやつじゃないか?
0504デフォルトの名無しさん2007/11/27(火) 02:58:57
ほとんどCPU描画な件
0505デフォルトの名無しさん2007/11/27(火) 09:40:16
>>504

ボトルネックがどこにあるか調査してから断言してますか?
ソフトウェアレンダリングの場合はVRAMが一番影響大きいのだが?
0506デフォルトの名無しさん2007/11/27(火) 09:50:15
それこそまともな3D描画ならともかく
WPFのネックがフィルレートだとでも?
0507デフォルトの名無しさん2007/11/27(火) 10:01:43
なんでソフトレンダでVRAMの影響が大きくなるの?
メインメモリ上で処理して、VRAMに渡すのなんて最後だけでしょ?
0508デフォルトの名無しさん2007/11/27(火) 11:20:05
おまえらプロファイラ使えよw
0509デフォルトの名無しさん2007/11/27(火) 11:42:50
それも微妙だったりして。
0510デフォルトの名無しさん2007/11/27(火) 13:02:03
そのうち「WPFアクセラレーター」なんて拡張カードが出てきたりして
0511デフォルトの名無しさん2007/11/27(火) 13:53:28
とりあえず、調査してから文句言った方がいい、恥かくことになるから。
http://dodgson.org/omo/t/?date=20060922
0512デフォルトの名無しさん2007/11/27(火) 16:52:56
趣味でWPFを始めてみました
質問なんですけど、ストーリーボードで人(アバター)を歩かせるアニメーションをしたいのですが、
画像の切り替えはどうすればよいのでしょうか?
EllipseGeometryでPointAnimationを使って移動はできたのですが、歩くモーションのため、
数枚の画像を順に切り替えたいのです
0513デフォルトの名無しさん2007/11/27(火) 18:22:11
不透明度の変更でできるんじゃない?
0514デフォルトの名無しさん2007/11/27(火) 21:22:03
WPFの重さって、UpdateWindow相当の処理が存在しないのが原因じゃないだろうか?

描画処理だけなら60FPS近く出る場合でも
UIスレッドで重い処理を行うと、
優先度の低い画面更新処理がすっ飛ばされて、全然画面更新されなくなる。

UIスレッドで重い処理をするなと言われればそれまでだけどさ、
WinFormsなら、キーが押される時等の早いレスポンスが求められる時には
UpdateWindowが呼び出されてるんだから、
WPFにも同じような機構が欲しい。
0515デフォルトの名無しさん2007/11/27(火) 22:28:01
WPFには、XNAみたいにフレーム更新のスキップ機能がほしい。
途中のアニメーションをすっ飛ばしてレスポンス返す方がいい。
0516デフォルトの名無しさん2007/11/27(火) 23:21:12
>>511
Avalonだとか言われていた時代、既にAppleはQuatz Exteremeという
近代的なデスクトップシステムを作り上げていたのだなぁ
0517デフォルトの名無しさん2007/11/28(水) 00:10:53
おいおい・・・
0518デフォルトの名無しさん2007/11/28(水) 00:11:17
MSは98年ごろにデモで3Dデスクトップ環境を披露していたが
0519デフォルトの名無しさん2007/11/28(水) 00:15:12
まあ板的に肝なのは主にXAMLだ
0520デフォルトの名無しさん2007/11/28(水) 00:22:04
XAMLはいいかげんさが足りない
0521デフォルトの名無しさん2007/11/28(水) 00:34:12
でも面白いよなXAML
0522デフォルトの名無しさん2007/11/28(水) 01:31:03
でも、実際はタグでWeb開発してる奴にとっては珍しくないんだよ。
問題は内部ロジックがどの程度進化していくかが重要。
今の処理ではアニメーションが重すぎる。
0523デフォルトの名無しさん2007/11/28(水) 10:45:17
XAMLって汎用的なオブジェクト生成、設定マークアップランゲージだろう。またそうやってかけるのがナイスなんだが。
自分でXAML相当のもの作るとしたらどういうスキーマをクラス情報から生成すればいいんだろ。attributeの辺りとかよくわからんです。
WPFこれから調査するけどなんか思い・・・
MSの人がXPだとハードウェアアクセラレーション書きかないバグがあってフィックスがどうたらとかいってたけど知ってるエロイ日といますか?
0524デフォルトの名無しさん2007/11/28(水) 20:15:22
アニメーションはいらん機能だな・・・。
XAMLの一番のメリットはコントロールインスタンスの生成と
レイアウトの手間が省ける点だと思ってる。
それと、XAML+C#コードビハインドで、言語レベルでMVCのV,C切り分けができるのがいい。
まぁ、コードビハインドなんて言葉も、web屋のほうから来たのかもしれないが。
ついでに言うと、.net2.0 のDataProvider + DataSet + XML関連クラス もいい感じに'M'を
扱いやすくしてくれてていい感じだ。

とにかくXAMLはUIレイアウトとユーザーイベントオブザーバーとしての機能だけを充実させて
ほしい。変にプログラマブルな方向へは進んでほしくない。
0525デフォルトの名無しさん2007/11/29(木) 00:28:43
もう進まないんじゃないかって思ってるんだが。
0526デフォルトの名無しさん2007/11/29(木) 00:57:38
>プログラマブルな方向
むしろこれからが本番じゃない?

Expression Designとの連携を考えなければ、無駄だらけの機能なんだし。

Expression Designをバージョンアップさせて色々と思いついたMSが
あれもこれもと機能を追加しそうな気がする。
0527デフォルトの名無しさん2007/11/29(木) 02:14:17
まあ、VSそのものはそれほど進化してないからな。
Blendとか他の製品で新しい機能がほしいとユーザから来て追加だろう。
0528デフォルトの名無しさん2007/11/29(木) 10:37:53
アニメーションが重いのがネックだったら、
Storyboard使わずに自前のコードで20fpsぐらいで動かしたらどうだろ?
0529デフォルトの名無しさん2007/11/29(木) 11:21:06
いや、アニメーションが重いというよりも全体が重い気がする。
XPだとハードウェァアクセラレーションできないって話があるがマジですか?
0530デフォルトの名無しさん2007/11/29(木) 13:26:01
  / ̄\   プラグイン必須だし     / ̄\
  |/ ̄ ̄ ̄ ̄\           / ̄ ̄ ̄ ̄\|
 |   /V\\\         |  /V\\\
  | / /||  || |          | //|   || |
  | | |(゚)   (゚)| |          | | (゚)   (゚) /|
 ノ\|\| (_●_) |/          \| (_●_) |/|/\ ウィンのIEしか動かないの
 彡、   |∪|  、` ̄ ̄ヽ    /彡、   |∪|  ミ  \
/ __ ヽノ   Y ̄) |    ( (/    ヽノ_ |\_>
(___)      Y_ノ    ヽ/     (___ノ
     \      |       |      /
      |  /\ \     / /\  |
      | /   ) )     ( (    ヽ |
      ∪   ( \    / )    ∪
           \_)  (_/


     / ̄\
    |/ ̄ ̄ ̄ ̄\
  (ヽノ// //V\\|/)
  (((i)// (゜)  (゜)||(i)))  そのうえ動作はカ・ク・カ・ク☆
 /∠彡\| (_●_)||_ゝ\
(___、   |∪|    ,__)
    |    ヽノ  /´
    |        /
0531デフォルトの名無しさん2007/11/29(木) 13:32:21
↑何と勘違いしてるんだろ?
0532デフォルトの名無しさん2007/11/29(木) 13:33:40
>>529
これのこと?
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1987079&SiteID=7
0533デフォルトの名無しさん2007/12/01(土) 19:24:34
>>529
ついでにこれも。
ttp://blogs.msdn.com/hiroyuk/archive/2007/11/30/6604954.aspx
0534デフォルトの名無しさん2007/12/03(月) 17:50:53
【コラム】 パソコンが「重く」なるのはなぜ?不調の理由は? 解決法はある?
http://news.ameba.jp/r25/2007/12/9073.html
0535デフォルトの名無しさん2007/12/04(火) 05:44:27
>>534
>メモリ内を掃除する「メモリクリーナー」系のソフトが効果的かも。
こんなこと書いてるよ。だめだめだろそれ。
0536デフォルトの名無しさん2007/12/04(火) 06:25:20
>>535
メモリのフラグメンテーションが進んでいる状況を解決するという点では
全く意味がない訳ではないので
長時間実行している状況という前提の中では一応問題ないと思うぞ
0537デフォルトの名無しさん2007/12/04(火) 09:30:12
一度もリストアもしないで数年使い続けたノートでは役に立ったよ。
数日動かしてると激重になるけど再起動するのも面倒だからメモリクリーナーで急場をしのぐ。
0538デフォルトの名無しさん2007/12/04(火) 19:07:23
http://itpro.nikkeibp.co.jp/article/NEWS/20071203/288650/
>MEET eJournalPlusは,現在はまだ評価版の段階である「.NET Framework 3.5」をベースに開発されており,
>文書フォーマットとしては「XPS」を採用して,メタデータの保存などを行っている。
>また,学生間や学生・講師間でのデータ共有には,.NET Framework 3.0で追加された通信機能である
>「Windows Communication Foundation」を使用している。

ソース公開するらしい
0539デフォルトの名無しさん2007/12/04(火) 19:23:56
>刷新 「.NET アーキテクチャーセンター」

絶えずアーキテクチャー刷新ですね。

ありがとうございましたorz
0540デフォルトの名無しさん2007/12/04(火) 23:38:30
MEETをNEETと読み違える奴多数?
0541デフォルトの名無しさん2007/12/06(木) 23:13:13
勤労を批判的に見る訓練
0542デフォルトの名無しさん2007/12/07(金) 14:30:02
こういうオサレなWPFアプリ作ってみたいもんだが、どうしても重くなっちゃうな。むずい
ttp://www.thirteen23.com/work/denounce/index.html
0543デフォルトの名無しさん2007/12/07(金) 23:15:01
まずもってデザインセンスがない俺
0544デフォルトの名無しさん2007/12/08(土) 01:23:16
Yahoo! Messenger for Vista
ttp://japan.cnet.com/news/media/story/0,2000056023,20362702,00.htm
ttp://messenger.yahoo.com/windowsvista.php
0545デフォルトの名無しさん2007/12/08(土) 01:48:16
うおおお
今度は落ちにくくなってるのかな
0546デフォルトの名無しさん2007/12/08(土) 22:46:28
MSが使わずYahooが使っているという・・・
0547デフォルトの名無しさん2007/12/09(日) 00:46:50
使ってみたけど結構悪くないよ
ただ絵文字がきもくなった
0548デフォルトの名無しさん2007/12/11(火) 01:33:06
あれから1年:Vistaのキラーアプリケーションはどこにある?
http://japan.zdnet.com/sp/feature/07microsoft/story/0,3800083079,20362838,00.htm
0549デフォルトの名無しさん2007/12/11(火) 08:39:37
おっしゃるとおりでございます。
リンク先のブログに書いてあるこれに期待するしかないな。
Update: I’ve heard some indication that Yahoo Messenger and presumably WPF
runs better in Vista SP1.
0550デフォルトの名無しさん2007/12/11(火) 08:45:01
XPのときにキラーアプリなんかあったか?
■ このスレッドは過去ログ倉庫に格納されています