【新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
0602デフォルトの名無しさん
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で開発するのは開発環境依存だと
すぐに気がつくだろ。
0675デフォルトの名無しさん
2008/01/04(金) 18:58:180676デフォルトの名無しさん
2008/01/04(金) 19:47:19数百のメソッドを持つクラスを作るような形になってしまうな。
特にXAMLは機能を詰め込みすぎたためか、余計症状が酷い。
0677デフォルトの名無しさん
2008/01/04(金) 23:24:300678デフォルトの名無しさん
2008/01/05(土) 21:22:38<xsl:include/> が欲しいということか
0679デフォルトの名無しさん
2008/01/05(土) 21:24:310680デフォルトの名無しさん
2008/01/06(日) 21:01:47近未来のアニメとかに出てくる、空間に浮かぶポリゴン上で
ビデオを再生するみたいな処理を身につけたいと思い、
DirectX9.0の参考書を買ってきて一から勉強しようとした矢先に
こんな記事をみつけました。
ttp://msdn.microsoft.com/msdnmag/issues/07/03/DigitalMedia/default.aspx?loc=jp
(デジタル メディア:WPF を使ってコントロールと 3D の表面にビデオを追加する)
おお、これこそ自分がやりたいことではないですか! ヽ(^o^)丿
でも、これってWPFで初めてできるようになったのでしょうか?
この処理を実現するためにDirectXの本に10000円以上つぎこんだ
私はおまぬけさん? (-_-;)
0681デフォルトの名無しさん
2008/01/06(日) 21:06:340682680
2008/01/06(日) 21:32:38DirectX 9(Managed)の方には動画テクスチャとかいう概念があって
Microsoft.DirectX.AudioVideoPlaybackのVideoにある
RenderToTextureメソッドを使うと似たようなことができるらしい。
ttp://www.microsoft.com/japan/msdn/directx/japan/dx9/default.aspx
ttp://www.microsoft.com/japan/msdn/directx/japan/dx9/AVCS.aspx
じゃーManagedでない方はできないのか??? 予想では
DirectX Graphics の Direct3DのAPIと
DirectShow の VMR (Video Mixing Renderer)とかいうのを
組み合わせればできそうな予感がしているのだが・・・
(10000円が無駄にならんことを祈る)
0683デフォルトの名無しさん
2008/01/06(日) 21:34:140684デフォルトの名無しさん
2008/01/06(日) 21:37:24って自分で言ってるじゃないか
その通りにアンマネージでもやればいいだろ
0685デフォルトの名無しさん
2008/01/06(日) 21:42:500686680
2008/01/06(日) 21:59:36それがRenderToTextureメソッドはアンマネージの方には
存在しないようなのだ。
んで、いろいろ探してみたら ありましたよ やっぱし
VMR (Video Mixing Renderer)のサンプルに(俺、ナイス勘)
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/directx9_m/directx/ref/ns/microsoft.directx.audiovideoplayback/c/video/video.asp
ソース : (SDK ルート)\Samples\C++\DirectShow\VMR\Cube
ふむふむ・・・俺が入れたのは最新版のSDKだから
C:\Program Files\Microsoft DirectX SDK (November 2007)
の下のSampleの下っと・・・・
「な、ない??!! DirectShowフォルダがねえええええ!!!!
Microsoftめええ Sample削りやがったなああああ」
0687デフォルトの名無しさん
2008/01/06(日) 22:09:58http://pc11.2ch.net/test/read.cgi/tech/1196150200/
0689デフォルトの名無しさん
2008/01/07(月) 02:00:40DirectShowは旧Platform SDK/現Windows SDKへ移された。
0690680
2008/01/07(月) 02:26:38サンキュー。
古いのだとVisual Studio 2005でコンパイル通らなかったけど
Windows SDKのVMR9のサンプルはすんなり通ったよ。しかも
俺のやりたかったことほぼそのまんま。
細かい動作原理はまだ理解できてないが枠組みは判ったので
色々と応用できそうですなり。ちなみに10000円分の書籍達には
VMRについては一切記述がなかったのだが;;基本を学ぶ上では
非常に参考になるので良しとしよう。
WPFとどっちが簡単なのかも今後の研究課題にしようかと思います。
スレ汚し失礼しました。
0691デフォルトの名無しさん
2008/01/08(火) 08:14:49全部C#で書けない?
0692デフォルトの名無しさん
2008/01/08(火) 08:16:550693デフォルトの名無しさん
2008/01/08(火) 08:33:09partial class として分離したものだから
C# や VB なんかで全部書く事は当然できる
が、XAML の syntax でないエラーは
本当にどこが悪いのか分かりにくくてたまらん
0694デフォルトの名無しさん
2008/01/08(火) 08:37:46Windowのpartial classのもう片方はどこにある?
0695デフォルトの名無しさん
2008/01/08(火) 08:41:470696デフォルトの名無しさん
2008/01/08(火) 08:42:29クラスビューからは見えるのか
しかし見ないほうが良かった
0697デフォルトの名無しさん
2008/01/08(火) 11:20:41メインメソッド自分で書きたいんで消しちゃっていい?
0698デフォルトの名無しさん
2008/01/08(火) 12:28:12App.xamlはApplication.Resourcesを書くのが一番の目的。
メインメソッドを自分で書きたい理由がargsが欲しいだけならOnStartupをオーバーライドしとけ。
0699デフォルトの名無しさん
2008/01/08(火) 12:58:21使用するウインドウを動的に変えたいんだ
0700デフォルトの名無しさん
2008/01/08(火) 13:14:52protected override void OnStartup(StartupEventArgs e) {
if (e.Args.Length == 0) new Window1().Show();
else new Window2().Show();
// base.OnStartup(e);
}
0701デフォルトの名無しさん
2008/01/08(火) 13:15:37なるほどそれでいいのか
ありがとう
0702デフォルトの名無しさん
2008/01/08(火) 15:31:56dllにWindow.xamlを置いてdllを参照し、
AppのOnStartUpでWindow.Show()してみたんだけど表示されなかった
こういう使い方はもう完全アウトなのかね
■ このスレッドは過去ログ倉庫に格納されています