【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/08(水) 10:43:18.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
0575デフォルトの名無しさん
2007/12/19(水) 12:45:460576デフォルトの名無しさん
2007/12/19(水) 22:33:53プロパティウィンドウに出なくて面倒だな。
他にもXAML手書きでなんとかしなきゃいけないとこが多そうだ。
0577デフォルトの名無しさん
2007/12/19(水) 23:42:18XAMLウィンドウでキー押してインテリセンスで候補選ぶほうがずっと速い。
0578デフォルトの名無しさん
2007/12/21(金) 10:14:070579デフォルトの名無しさん
2007/12/21(金) 11:51:19プロパティ一覧は最初にちょっと触った以外は操作した事もない
0580デフォルトの名無しさん
2007/12/21(金) 12:00:21インテリセンスはVS2008は比較的優秀。
デバッグはちょっと使いずらく感じる。
0581デフォルトの名無しさん
2007/12/21(金) 23:16:05手書き?
0582デフォルトの名無しさん
2007/12/21(金) 23:28:25イベント付けたい要素のタグ中でインテリセンス使って「MouseDown=""」とか入力すると、
「新しいイベントハンドラ」というのが出てくるから選ぶ。
自動的にビハインドコードのほうに「要素名_MouseDown」ってメソッドが挿入される。
0583デフォルトの名無しさん
2007/12/22(土) 07:00:05最初にGUIで各パーツを大雑把に配置したら
あとは表示を確認しながらXAMLを直接いじってゆくのが基本だ。
0584デフォルトの名無しさん
2007/12/22(土) 17:06:36ボタンを押すと普通の灰色ボタンに戻ってしいます。
ボタンを押したときのBackgroundやForegroundを指定したいのだけどどうやったら出来ますか?
0585デフォルトの名無しさん
2007/12/22(土) 17:46:24.NET Framework開発 > Windows Presentation Founndation > WPFの基礎 > スタイルとテンプレート > トリガ > プロパティトリガ
0586デフォルトの名無しさん
2007/12/22(土) 19:14:20ありがと〜、見つかりました。
<Style TargetType="Button">
<Setter Property="Background" Value="Cyan"/>
<Setter Property="Foreground" Value="Red"/>
<Style.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="Yellow"/>
<Setter Property="Foreground" Value="Blue"/>
</Trigger>
</Style.Triggers>
</Style>
0587デフォルトの名無しさん
2007/12/22(土) 22:08:13と言われていますが、C2D&Geforce8シリーズのようなハイエンドPCでも、
簡単なアニメーションを行うだけでCPUリソースを20%消費するという状況に良く会います。
WPFのどんな処理が Pixel / Vertex Shader で記述されGPUを利用していることになるのか
解説している文章等は有りませんでしょうか?
0588デフォルトの名無しさん
2007/12/22(土) 23:20:49確かに・・・落ちない、というだけで、重くてもXPにしたからな。
まあ、他で2000も使ってたけど。
ただ、Vistaは、本当に利点がない。
俺は、ゲームもやるが、ゲーマー周りじゃ、Vista氏ねだとw
OS:Vista って書いたらハァ?って言われてるし
0589デフォルトの名無しさん
2007/12/22(土) 23:29:22答えは知らんけど、最後の合成以外はほとんどCPU処理だと思ってた。
要求スペックがSM2.0以降だからたいしたことできなそうだけどな。
0590デフォルトの名無しさん
2007/12/23(日) 02:15:33あの機能は便利だと思うんだけど。
0591デフォルトの名無しさん
2007/12/23(日) 11:57:51ゲームがVistaに最適化すればよい
0592デフォルトの名無しさん
2007/12/23(日) 11:58:50便利じゃねーよ。
途中からの順番変えたい時も最初からクリックしなきゃならんし
0593デフォルトの名無しさん
2007/12/23(日) 14:11:11Vistaだと、1割重いっていうのが通説なんすよね。
まあ、それを見越して、チューニングしろって話なんだろうけどさ。
最近だと、DirectX10だと、キレーになる、ゲームがあったんだけど、
「Crysis」
さて、実はここで紹介した効果を含めて、公式にDirectX 10フィーチャーと
されている設定は、ゲームの設定ファイルを触ることでDirectX 9環境でも
適用することができる。結果的にDirectX 9バージョンでもDirectX 10バージョン
と同等の絵を出すことができる。つまり、DirectX 10だから美しい環境が実現
されているわけではないのだ。
あえて上記に触れたのは、現在のところDirectX 9バージョンとDirectX 10
バージョンで、「最高」設定の絵を出したとき、実はDirectX 9バージョンの方
がパフォーマンスが良いからだ。
http://www.watch.impress.co.jp/game/docs/20071130/crysis.htm
Vistaオワタ\(^o^)/
そろそろ、スレ違い
0594デフォルトの名無しさん
2007/12/23(日) 16:09:54見た目が綺麗になるとか云々はおまけです
0595デフォルトの名無しさん
2007/12/23(日) 20:06:23根底から違う。
0596デフォルトの名無しさん
2007/12/23(日) 21:28:18だが、その機能すら今回はないんじゃないか?
0597デフォルトの名無しさん
2007/12/25(火) 17:13:02また、明日から本気出すですか?
0598デフォルトの名無しさん
2007/12/26(水) 09:27:23ウィンドウの端ドラッグしてサイズ変更すると、たまにクライアント領域が黒くチラつく
これを抑制する方法を教えてください
環境は、Vista+VS2008です
0599デフォルトの名無しさん
2007/12/26(水) 12:34:51ビットマップエフェクトや不透明度などの重い処理使うのを避けるとか。
描画が追いつかないときに出る現象だから、完全に抑制するのは無理じゃないかな。
0600598
2007/12/26(水) 13:06:06そうなるので重い処理ってことはないと思うんだけど
これ、どうしようもないんでしょうか・・・?
0601デフォルトの名無しさん
2007/12/26(水) 13:15:020602デフォルトの名無しさん
2007/12/26(水) 21:37:530603デフォルトの名無しさん
2007/12/26(水) 22:37:000604薄汚い派遣の国、日本
2007/12/27(木) 03:37:28派遣契約を切られたにもかかわらず「次の派遣先でも切られてしまって生活できません」
などと 言って泣き落としで現場マネージャーにすら一切話がないまま再派遣契約した人のことです。
今月初め、半年前に切った派遣が出社してきてマネージャーも含めみんなびっくりしました。
影でコソコソ偉い人に泣きついて再契約したそうです。同じ部署の人には黙って・・・
そんなことまでして自宅の近くの派遣先にこだわって人間として恥ずかしくないのですか。
仕事に必要な技術がなく勉強する気もないのを逆手にとって
「私のような人の視点で仕事をすることも大切だと思います」と挨拶された時には
みんな凍りついていました。派遣でスキルアップとか言ってる癖に以前と同じように
技術を勉強する気はなく「それは私の仕事ではありません」の一点張り、
派遣で収入アップとか言ってる癖に時給は前回と同じで喜んで再契約。
結局、なんの努力もせずに派遣で安直に収入を得たいだけじゃないですか。
身分不相応な商品のローンを払うために派遣だと当然足りない収入は親にも寄生して、
いつ切られるんじゃないかとビクビクしながら人事権のある人間とだけ仲良くし、
契約終了を通知されれば泣き落とし。悲惨な人生ですね。
氏んだほうがいいんじゃないですか。
0605デフォルトの名無しさん
2007/12/27(木) 04:07:280606デフォルトの名無しさん
2007/12/27(木) 04:09:000607デフォルトの名無しさん
2007/12/27(木) 12:43:23Core 2 Duo はともかく GPU は?
0608デフォルトの名無しさん
2007/12/27(木) 12:46:340609デフォルトの名無しさん
2007/12/27(木) 14:28:59GPU古いっちゃ古いから仕方ないのかな・・・
GPU変える参考にするから、出ないって人いたら、環境教えて
0610デフォルトの名無しさん
2007/12/27(木) 14:52:44XPだと大丈夫。
さらに、VistaだとAllowsTransparencyがtrueのウィンドウのリサイズが非常に遅い。
0611609
2007/12/27(木) 15:15:44情報ありがとう
VPCのXPに.NET 3.0突っ込んで試してみたら、チラつかなかった
自分のコードで解決する問題じゃないってことかな。でも、気になるなぁ・・・
0612デフォルトの名無しさん
2007/12/27(木) 17:18:06もっとWPF使いたくなるような話題はないのか?
とりあえずVCL使い慣れているのでWinForms使うわ
0613デフォルトの名無しさん
2007/12/27(木) 18:01:07オンボードのGM965。でもみんなの話を聞くと、「Vistaだと黒チラ出る」でFAなのかな。
SP1で直るといいな。
0614デフォルトの名無しさん
2007/12/28(金) 04:31:130615デフォルトの名無しさん
2007/12/28(金) 08:09:450616デフォルトの名無しさん
2007/12/28(金) 11:15:020617デフォルトの名無しさん
2007/12/28(金) 11:15:450618デフォルトの名無しさん
2007/12/28(金) 11:23:210619デフォルトの名無しさん
2007/12/28(金) 11:36:450620デフォルトの名無しさん
2007/12/28(金) 20:50:24Aero切った状態でもなる?
0621デフォルトの名無しさん
2007/12/29(土) 15:08:52Aero切ったら画面描画が遅くなるんじゃないの?
0622デフォルトの名無しさん
2007/12/29(土) 15:16:350623デフォルトの名無しさん
2007/12/29(土) 15:48:39VistaをAeroをOFFにする人の数 --gt;
http://pc11.2ch.net/test/read.cgi/win/1158641102/
0624デフォルトの名無しさん
2007/12/29(土) 21:36:57Aero切ると黒チラは出ないね。でもCPU負荷はAeroオン時より10〜20%ぐらい高くなる。
他のウィンドウの再描画が増えるせいかな。
0625デフォルトの名無しさん
2007/12/29(土) 23:14:58ほかの描画効果あるのも知ってるけれど、とりあえずその部分だけ。
0626デフォルトの名無しさん
2007/12/30(日) 01:52:50AeroとWPFの両方でGPU使うから、その辺で切り替えとか色々間に合ってないんじゃないかな、とか
やっぱ完全GDI描画だと(処理速度はともかく)出ないのね
>>625
AeroとWPFのGPUアクセラレーションは直接は関係ないと思うけど
いや俺はvista持ってませんがね
0627デフォルトの名無しさん
2007/12/30(日) 03:17:591)ウィンドウサイズが変わる
2)クライアントエリアのイメージを保持する領域を確保し、不透明の黒で塗りつぶす
3)外枠を描く
4)WPFがクライアントエリアを描画(非同期処理)
5)GPUが合成
で、4)の処理が追いつかない場合、2)の黒が見えてしまう、と予想している。
2)の黒で塗りつぶす処理をスキップできれば黒チラ消せるかも?
GDIの場合はデスクトップに上書き描画するから黒チラは出ない。
でもウィンドウの移動・縮小時にはそこら中で再描画が発生するから実際のCPU負荷は大きい。
0628デフォルトの名無しさん
2007/12/30(日) 03:48:15Flickering background when resizing window
ttp://www.msdner.com/dev-archive/113/153-119-1134734.shtm
0629デフォルトの名無しさん
2007/12/30(日) 13:38:59いちいちboolにキャストすんのめんどくせーよ、やってらんねーよ
0630デフォルトの名無しさん
2007/12/30(日) 13:46:210631デフォルトの名無しさん
2007/12/30(日) 14:47:180632デフォルトの名無しさん
2007/12/30(日) 15:28:023値だから?
なんか書いててアホなしり上がり口調みたいだが
0633デフォルトの名無しさん
2007/12/30(日) 16:43:21<CheckBox IsChecked="false"/>
<CheckBox/>
これを区別するためじゃね?
0634デフォルトの名無しさん
2007/12/30(日) 18:10:29しかし、629ではないが、指定なしのときは false の方が使いやすいな。
無理にNullable Typeを使わなくてもという感じがした。
0635デフォルトの名無しさん
2007/12/30(日) 18:19:29Windows Formsでは列挙体CheckStateで表現されていたよ。
0636デフォルトの名無しさん
2007/12/30(日) 23:36:01Excelの複数セルの書式設定ぐらいじゃない?
0637デフォルトの名無しさん
2007/12/31(月) 00:20:190638デフォルトの名無しさん
2007/12/31(月) 02:28:23DOMみたいな機構あるの?
0639デフォルトの名無しさん
2007/12/31(月) 03:27:400640デフォルトの名無しさん
2007/12/31(月) 15:25:29アニメーションとしてXAMLで定義する方法もあるわけだが
0641デフォルトの名無しさん
2007/12/31(月) 15:26:440642デフォルトの名無しさん
2007/12/31(月) 20:16:36やっぱりサポートがいまいちだな。
縦書きとかルビとか禁則処理とかが楽にできると
面白かったんだけど。
TextBlockとか全然使えねえ。
0643デフォルトの名無しさん
2007/12/31(月) 20:23:10完全に GDI に任せるだと、WM_PAINT 終了後に描画が行われているので
間に合う間に合わないどうこうは関係ない
Aero 有効だとウィンドウ部分のダブルバッファ (?) の反映が間に合ってない
って感じかもね
0644デフォルトの名無しさん
2007/12/31(月) 21:29:16FPSに処理が間に合わないならスキップさせざるを得ないだろ。
処理を終えるまで描画をフリーズさせるわけにはいかない。
0645デフォルトの名無しさん
2007/12/31(月) 21:32:00イベント描画処理はウィンドウメッセージをループでまわす処理だから、
CPUにかかる負荷が高い。
0646デフォルトの名無しさん
2008/01/01(火) 05:04:570647デフォルトの名無しさん
2008/01/01(火) 05:10:34抽象的だが、あるプロパティがほかのプロパティに依存する関係。
たとえば、FontSizeはFontに依存してるだろう。
Aを変えたらBにも影響があると言ういわゆるUMLの依存関係を表現したものだろう。
0648デフォルトの名無しさん
2008/01/01(火) 07:16:47しかしなんでそんなのが必要なのか全然わからん
0649デフォルトの名無しさん
2008/01/01(火) 21:45:24GUIの自動更新とかに便利。
データオブジェクトの名前を表すプロパティが変更されたら、
それを表示しているテキストボックスの内容も自動変更するなんてことができる。
Data <-> UI 間の受け渡しコードをいちいち書かなくてすむ。
0650デフォルトの名無しさん
2008/01/02(水) 15:56:41はけん契約を切られたにもかかわらず「次のはけん先でも切られてしまって生活できません」
などと 言って泣き落としで現場マネージャーにすら一切話がないまま再はけん契約した人のことです。
今月初め、半年前に切ったはけんが出社してきてマネージャーも含めみんなびっくりしました。
影でコソコソ偉い人に泣きついて再契約したそうです。同じ部署の人には黙って・・・
そんなことまでして自宅の近くのはけん先にこだわって人間として恥ずかしくないのですか。
仕事に必要な技術がなく勉強する気もないのを逆手にとって
「私のような人の視点で仕事をすることも大切だと思います」と挨拶された時には
みんな凍りついていました。はけんでスキルアップとか言ってる癖に以前と同じように
技術を勉強する気はなく「それは私の仕事ではありません」の一点張り、
はけんで収入アップとか言ってる癖に時給は前回と同じで喜んで再契約。
結局、なんの努力もせずにはけんで安直に収入を得たいだけじゃないですか。
身分不相応な商品のローンを払うためにはけんだと当然足りない収入は親にも寄生して、
いつ切られるんじゃないかとビクビクしながら人事権のある人間とだけ仲良くし、
契約終了を通知されれば泣き落とし。悲惨な人生ですね。
氏んだほうがいいんじゃないですか。
0651デフォルトの名無しさん
2008/01/02(水) 19:44:07ことですが、どのくらいの差でしょうか?
VS2005でFormを使って作成していますが、Form上で別のダイアログを動かすと
その後を白い空隙がサササササーーーと追いかけていくような状況は無くなる
でしょうか?
現在はFormだとそういう感じで描画が非常に遅いと感じています。
環境はCore2Solo(@VAIO-G1)+Xp。
0652デフォルトの名無しさん
2008/01/02(水) 19:59:08Vistaにすればそういうことはなくなる。
0653デフォルトの名無しさん
2008/01/02(水) 20:03:42同じFormでもそうなんですか、てことは原因は何なのでしょう?
すみませんが、不勉強でよくわからないのです・・・。すんません。
0654デフォルトの名無しさん
2008/01/02(水) 20:09:29まあWPFはDirectXでウィンドウ描画しているから(VistaのAeroもそうだっけ?)グラボの性能が悪いと意味ないと思う。
やっぱり↑のスペックだとWPFは厳しい?
0655デフォルトの名無しさん
2008/01/02(水) 22:06:05これは幻想だな。
Vistaでもかなり重い処理のままので速度に期待するのは止めた方が良い。
0656デフォルトの名無しさん
2008/01/02(水) 22:14:23それぞれに得意分野があるから当分かぶらないと思うよ。
0657デフォルトの名無しさん
2008/01/03(木) 20:15:46DirectX でウィンドウ描画は Aero であって WPF じゃない
DirectX を利用して GPU に描画を任せる、が一番合ってるが
で、XP の場合は WPF を使う事で「一部だけ」GPU に任せられるようになるが
Vista ほど全面的にサポートされてる訳ではない
0658デフォルトの名無しさん
2008/01/03(木) 20:35:32やはりWPFはVistaのAero表示前提か…。
現状Formだと僅か10個のコントロールを置いただけで起動時に描画が見えてしまうから、それが改善出来るのならWPFに鞍替えしようと思っていた。
Vista購入予定は全くないし、暫くは個人で使う小物に留める事にする。
0659デフォルトの名無しさん
2008/01/03(木) 20:59:10WPFはその中で動くゲームみたいなもん
0660デフォルトの名無しさん
2008/01/03(木) 21:27:59WPFのコントロールがデスクトップに表示されるまでの処理
1. ウィンドウが持つバッファに各コントロールを描画する
2. バッファを合成して1枚のデスクトップ画像にする
1の処理はXPとVistaで速度が変化することはない。
2の処理はVistaのAeroだと、多少GPUを使う。影の描画はCPU処理だそうな。
0661デフォルトの名無しさん
2008/01/03(木) 21:30:38ツールボタンのアイコンを全部ベクトルデータにしたら重いかな。
0662デフォルトの名無しさん
2008/01/03(木) 23:01:24WindowsFormsHost使えば簡単にできたけど、上にコントロール重ねたりできない
0663デフォルトの名無しさん
2008/01/03(木) 23:08:35ある局面だけを見れば可能だろうけど、
細かい部分で使用が複雑になりすぎる希ガス。
例えばWPFはDirect3D描画中にビデオカードのリセットがかかったり、
リモートデスクトップクライアントのGPUに描画を引き継いだりしても
平然と描画を続けるんだけど (その代償としてメインメモリが食われてるが)、
Direct3Dで同じもの作れと言われれば死ぬだろう。
確かに自前のDirect3D描画とWPFとを組み合わせられればとてつもなくCoolだが
Coolじゃない部分の面倒が見切れんと思ったときのMSはそもそも機能ごと切るのが通例。
MSが検討しなかったってことは無いと思うよ。
それで非対応なんだから何か色々問題があったんだろう。
0664デフォルトの名無しさん
2008/01/04(金) 00:33:500665662
2008/01/04(金) 01:00:44レンダーターゲットをBitmapSourceにコピーする力技を試してみたら一応動いた。
毎フレームBitmapSourceを作成してて、しかもDisposeできないのが気持ち悪い。
0666デフォルトの名無しさん
2008/01/04(金) 01:18:100667デフォルトの名無しさん
2008/01/04(金) 01:31:37描けるよ。
何となく>>666の望むものは付属していない気がするけど。「作れ」と言われる気がする。
ttp://www.codeproject.com/KB/vista/swordfishcharts.aspx
0668デフォルトの名無しさん
2008/01/04(金) 01:33:44http://blogs.msdn.com/hiroyuk/archive/2006/10/06/Animation-and-Trigger_2C00_-Loose-XAML-.aspx
0669デフォルトの名無しさん
2008/01/04(金) 01:44:22ありがと〜
でもどこから手をつけたらいいやら・・・
XMLってコンピュータにはやさしいかもしれないけど私にはやさしくないな
みづらいよ
0670デフォルトの名無しさん
2008/01/04(金) 01:51:490671デフォルトの名無しさん
2008/01/04(金) 15:56:10たしかにXMLやHTMLのような宣言ベースな言語だと、内容の増加に比例して可読性が悪くなっていくな。
業務でWPFを使ってるが、XAMLで定義するとデバッグが限りなく不可能なので、パーシャルクラスで実現しほうが良い気がしてる。
(今やってるのはMSの方針にそってXAMLで定義してるが地獄だ・・)
0672デフォルトの名無しさん
2008/01/04(金) 16:48:240673デフォルトの名無しさん
2008/01/04(金) 17:20:47XMLなり、XAMLなり人間がいじる必要ないでしょ。
ソフトが読み書きするためのもんだし。
0674デフォルトの名無しさん
2008/01/04(金) 17:35:35PC環境にやさしい互換性を目指したものだ。
これを理解できれば、XAMLで開発するのは開発環境依存だと
すぐに気がつくだろ。
■ このスレッドは過去ログ倉庫に格納されています