Vista」タグアーカイブ

WS_EX_COMPOSITED は使えない

あけおめ(一応)

あー!なんじゃこの拡張スタイルはっつーの。
Wバッファリングを自動でやってくれるスタイルなんだが。
Aero で使ってみたら問題が無かったので当ててみたら…

クラシック表示
VMR の動画がまったく見えない。
他の部分が余計にチラツク

XP
アルファブレンドを掛けた GDI+ 表示がまったく見えない。
VMR の動画もやっぱりまったく見えない。
その見えない動画の上ではメニューさえも消える…

そういえば自力でやったら似たようになったのでヤメたんだっけ…
とにかく GDI+ や DirectX を使う人は絶対にこのスタイルを含めないで。

とにかくこの環境全部のつじつまを合わせると方法が限定されて困るわな。

???の人に簡単な解説をすると。

XP までの画面表示は1つの画面領域を全部のアプリが共有していました。
だからウインドを移動すると下のウインドが真っ白になっているのが見える。
ソレ毎に WM_PAINT が飛んできて、せっせと再描写が行われます。

しかしビデオカードが大半を処理してくれるので気にならなかった。
GetDC 関数で得られる HDC は実は完全に見せかけです。

Vista のクラシック表示は同じ方法で描写されます。
しかし GDI 処理が全部ソフトウエア処理に変更になりました。
そのため描写処理は目を覆いたくなるくらい遅くなってしまいました。

Vista を重いと言う人の大半はコレを言っているような…
クラシック表示のほうが軽いって考える思いこみって怖いね。

Aero 環境は Desktop Window Manager (DWM) が一括管理します。
アプリケーションごとに画面領域を本当に確保しておき合成して描写します。
おかげで背景のウインドさえスケスケに見えるなんてワザが可能。

と、聞いただけでは「重くなりそう…」と感じるのですが
その仕組みのおかげで上に被さっているウインドが移動しただけで
WM_PAINT が飛んできて再描写なんて事は無くなってしまいました。
トータルで描写処理が軽くなっています、頭がいい人が考えたのね。

Aero で表示がおかしくなるアプリは WM_PAINT の処理がおかしい。
○isual Studio とか ○onoha とか。

おまけに Vista ではオーバーレイが廃止されている。
だから動画のスクリーンショットも普通に可能になってもーた。
つーことで Cinema も VMR というワケワカなモンに移行したわけで。

とにかく。
描写処理が Aero、クラシック表示、XP で全部違うのよ。
従来の方法で描写しているかぎりは何も問題がないわけですが、
DirectX や GDI+ でアルファブレンドを使うとこうなってしまう。
両方使っている Cinema は…さて、色々試して勉強だ。

正月からこんなネタ…

end of y901

Y901 は本当に終わっていた。
Vista で使い物にならネェ、、、、、、、、、、
むしろ開発終了していて良かった、、、、、、、、、、

v2.1.31 のソースが出てきたのでコレをベースでなら少しは直せるけど、
この Explorer の仕様ではファイルの並び順をどないせっつーの!
もはや名前順以外は消したほうが無難だわな。

それより Vista という OS の考え方とはギャップが大きすぎる。
Vista 用の WMP11 が洗練されすぎていてなんかみじめに感じてしまう。
XP 用とは随分違うんだね、フルスクリーンでのパネルには感動したよ。

話は違うがそういえば codec がどうのとか最近見聞きしなくなった。
再生だけなら VLC か GOM 使えで終わってしまう凄い時代になっちまったし、
つーかもはや MPEG2 か WMV 以外でエンコードする人が信じられないわけで。
まあ FLV や H.264 もあるけど、コレは目的が違う。

しかし…作った本人はあの操作にすっかり慣れきっているんだよなぁ。
とある事情で公開は続けているけど来年までには簡易な代替えに入れ替えるか。
言うまでもなくあまりやる気は無いので簡易で十分かと。
まだコレを使い続けている哀れなユーザーもそれ以上は望んでいないと察する。

Real は完全に無視します、Vista 未対応のようなのでインストールしていないし。
リアルネットワークス、新しいRealPlayerを発表–YouTubeのビデオダウンロードが可能:ニュース – CNET Japan
何がこの会社をそうさせた…

ということで DirectX SDK 最新版をダウンロード。
DX10 って 3D 以外は 9 と同じだから最新に拘らなくてもイイけど一応。
__________

ついでに、SeeMe や Palepoli が何の問題もなく動く事に驚いたよ。
カーネルレベルでの変更らしいのに下位互換性にこんなに拘るとは恐ろしい会社だ。
フリップ 3D も普通に追従するとは、マルチバイト処理もまだイケるようである。

だからといってその「そのために用意してくれた環境」に頼っていると自身が進歩しない。
ソレを補ってしまう開発環境だから腹が立つんだよ今のデルヒャァは!
過去の資産も大事だが下を育てるのという事も提供側は担っているのを解っていない。