[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/06 18:57 / Filesize : 237 KB / Number-of Response : 929
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【C++】 DirectX初心者質問スレ Part14 【C】



1 名前:デフォルトの名無しさん [2007/09/08(土) 22:21:46 ]
※回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ

【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。

【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。

【C++】 DirectX初心者質問スレ Part13 【C】
pc11.2ch.net/test/read.cgi/tech/1182351826/

83 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:04:46 ]
東京から大阪まで行くのはどうすればいいか → 自分で決めろ
車の場合、高速道路を利用すべきかどうか  → 自分で決めろ

こんな感じの疑問を問いたい気持ちは分かるが、間違ってでも自分で判断してくれ
失敗は成功の元 プログラミングに関してはこの言葉が当てはまるから、無謀でもどんどん失敗して欲しい
・・・と思うのは俺だけでいい(´・ω・`)

84 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:06:42 ]
お説教もいらないから。

85 名前:デフォルトの名無しさん [2007/09/16(日) 23:10:48 ]
>>82
>>6は嘘?

86 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:11:21 ]
>>83
はじめの5行が無かったら素晴らしいレスだったのに

87 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:28:43 ]
>>85
大嘘

88 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:30:54 ]
>>1-88は全部嘘

89 名前:デフォルトの名無しさん [2007/09/17(月) 00:00:31 ]
おまえもうそかよ?

90 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 00:04:14 ]
何を信じて生きていけばいいの?

91 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 00:04:50 ]
信じる者は騙される



92 名前:デフォルトの名無しさん [2007/09/17(月) 00:13:18 ]
>>88がしんじつであるとすると
>>1-88はぜんぶうそになる
>>88はうそつきであるから
>>1-88はしんじつに…
もういいかんがえるのつかれた

93 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 00:15:09 ]
安物RPGのダンジョンの謎解きみたいだな

94 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 03:55:13 ]
>>81
だから、デバイスがロストするときとリソースだけロストするときがあるの
デバイスがロストするとリソースも死亡
リソースだけロストしたときはデバイスは生きてる

95 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 04:00:40 ]
BBXで説明されてるな
bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=32&vew=15


96 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 07:43:20 ]
>>94
リソースだけロストするなんて事はない。
嘘もいい加減にしろ。

97 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 09:22:03 ]
・実体験に基づき、リソースだけロストする状況に遭遇したことがない。
・DirectXの仕様から推測し、リソースだけロストする状況が想定できる。

という葛藤。
前者は、そう言えるほど十分に広い事例を試したのかという問題がある。

98 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 09:47:00 ]
>>96
研究が足り無いな
普通に動かしてりゃ2つの動作があることに気がつくだろ普通
それと、BBXのmasaさんのレス読んだのか?

【こっから】
ちょっとややこしいのですが、
リソースを再作成する必要が生じるタイミングには、
大きく二種類の状態があります。

まず、テクスチャ/頂点バッファ/スワップチェーンなど、
アダプタ(ビデオカード)内の VRAM のみが破棄され、
D3D ランタイムの D3D デバイス管理は生きているというケース。
#極簡単に言えばウィザードで生成されたコードの
#CD3DApplication::m_pd3dDevice ポインタが有効である時

ヘルプに書かれている「デバイスの消失」はこれです。
この場合、ハードウェア内の、つまり VRAM に置いたデータのみが消失しています。
#ウィンドウサイズの変更などで簡単に起こります。

もう一つは、D3D ランタイムの管理する D3D デバイス自体が
完全に破棄/再作成される場合です。
【ここまで】

99 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 10:04:57 ]
>>98
デバイスがロストでデバイスのインタフェイス自体が使えなくなるわけじゃない。
勘違いも甚だしい。

100 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 10:23:10 ]
>これは、モニタ解像度/色数の変更、フルスクリーン化など
>「ディスプレイの表示モードが変化した場合」や、
>HAL-->REF などのデバイスの切り替えで行われます。

これ大嘘だから。
実際に試してみれば分かるけど、手動管理のリソース開放とResetだけで動く。
デバイスインタフェイス自体を再作成する必用はない。

101 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 10:31:02 ]
ウインドウモードとフルスクリーンの切り替えなんて、
パラメータを変えて普通にリセットすれば切り替わるだろ。
いちいちデバイスを作り直している奴の方が少ないと思うが。



102 名前:デフォルトの名無しさん [2007/09/17(月) 14:37:33 ]
xファイルを他の形式、dxf・mqo・3dsとかメタセコイヤで読み込める形式に変換してくれるツールってないかなあ?
形状だけで良いんだけど

YJPコンバーターって奴見つけたけど1600円もするから、なんかフリーであればいいな

103 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 14:48:10 ]
メタセコで変換するんじゃだめなの?
何がしたいのかよく分からん

104 名前:デフォルトの名無しさん [2007/09/17(月) 14:49:52 ]
xファイルしかないモデルがあって、メタセコじゃXファイルインポート出来ないだよね〜

105 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 15:22:53 ]
昔のDirectXにmemtime(.exe)ってツールが在ったらしいのですが、
どこかに落ちてませんか? く、くっください!!!!!

106 名前:デフォルトの名無しさん [2007/09/17(月) 16:48:21 ]
ちょっとさがしてみるよ

107 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 16:55:02 ]
DirectDraw絡みの、VRAM・システムメモリの組み合わせ毎の速度測定ツール
だった記憶がある。こんなの今更要るの?

108 名前:デフォルトの名無しさん [2007/09/17(月) 17:02:42 ]
DXSDK3のbinにあったけどゆそうしゅだんは?

109 名前:107 mailto:sage [2007/09/17(月) 17:18:01 ]
>>108 熱烈感謝
ココにアップお願いします。
www.uploda.net/18.php

>>107
ココを見て興味わいたのです
ttp://www.sun-inet.or.jp/~yaneurao/intensive/diw1.html

110 名前:デフォルトの名無しさん [2007/09/17(月) 17:35:48 ]
>>109
けいたいからあっぷしてみるよ
ちょっとまってて…

111 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 18:07:54 ]
>>110
お願いします。



112 名前:デフォルトの名無しさん [2007/09/17(月) 18:10:59 ]
>>111
あっぷできたよかくにんよろしく
ud.gs/409cx
ぱすはふぁいるめい
かくちょうしはてきすとになっているから
きおつけてねw

113 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 18:36:35 ]
>>112
熱烈感謝です。無事ダウンロードできました。有難うございました。
ぺコリ、ペコリ、ペコリ

114 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 19:31:17 ]
>>99-101
は?何が言いたいの?
デバイスのロストはその2種類でいいでしょ?

115 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 22:58:30 ]
馬鹿の書いた掲示板の書き込みを馬鹿が信じる典型的な例だな。

116 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 23:38:37 ]
>>115
masaさんはダブルスティールの人だよ
デバイスロストが2種類あるっての正しいでしょ?
俺もこの辺すげー苦労した覚えあるし

D3DDeviceを各オブジェクトで保持する組み方してたから
そこの辺軒並み組み直しになった希ガス

このときはじめてポインタ保持はグローバル変数と同じぐらいの大罪だと知って死んだw

117 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 23:48:05 ]
>>116
BBX見てる奴でMasaを知らない人間は少数だと思うが、
誰々が言ってることなんだから正しい、とかそういう考えはよくないぞ

118 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 23:49:36 ]
デタラメをここまで盲目的に信じるとはもやは救いようがない。

119 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:09:30 ]
>>117
いや、だから、馬鹿じゃないってただそんだけだよ
だれにだって間違いはあるだろうし、別に盲信してるわけじゃないよ

>>118
だから何が間違ってるっていいたいの?
デバイスロストが2パターンあるところはいいんだよね?

120 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:17:16 ]
>デバイスロストが2パターンあるところはいいんだよね?
全然良くない。
馬鹿を盲信する一方、その他の人間の話を全く聞かないな。

121 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:19:09 ]
だれか正解をまとめてくれ

それか住民全員を納得させられるような攻撃力のあるリソースを提示してくれ



122 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:28:07 ]
>>120
え?詳細まで書けよ

D3DDeviceの指す先が変わってることってあるよな?
これは確実にあるよな?
なぜなら、俺が各オブジェクトに保持してほぼ全ソース修正する原因がこの出来事だから覚えてる
この件があって以来、ポインタ保持は絶対にしないと心に決めた出来事がこれだからだ

っつーことはデバイスが生きてて、リソースが死ぬって状況がないって言ってる?

123 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:29:35 ]
>>119
自らがReleaseして使えなくしているのを、パターンの一つに含めている時点でおかしい。
デバイスのインタフェイスを開放することをデバイスロストとは言わない。

あとは>>6
>Aの場合の対処はD3DDeviceは生きているので死んだリソースだけチェックして
>死んだリソースのみ復旧作業を行う
そもそもロストの原因を知る術も、個別にどのリソースが使用不能なのか確認するAPIも存在しない。
チェックできないのにどうやって特定のリソースのみ復旧できるんだ?

124 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:31:37 ]
>>121
俺のソースはそのBBXのしかない

デバイスロストは2種類あると思った
で、俺が対応したのは2種類ともD3DDeviceを作り直して解決する方法
つまり、デバイスが破棄されても、リソースだけ死んでも、
デバイスまで一度破棄して、デバイスから作り直す方法
昔のソースだけど製品として出荷したのはそういうコメントになってるし

125 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:32:05 ]
>>122
肝心の「なぜなら」の説明が、「〜心に決めた出来事がこれだから」てwww
自分の体験談かよwwww

126 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:34:10 ]
IDirect3DDevice9とそれ以前で違うって可能性ない?
だとしたらここまでみんなの記憶が混乱してるのも頷けるんだけど。

127 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:37:10 ]
>>123
>そもそもロストの原因を知る術も、個別にどのリソースが使用不能なのか確認するAPIも存在しない。
>チェックできないのにどうやって特定のリソースのみ復旧できるんだ?
実は俺のとった対応方法はデバイスを作り変えるっていう2つの方法に対応できる方法だけなので
各リソースの有無を判別して復旧させることはしてないから
各リソースごと判別っていうのは俺はやってないからそこは嘘なのかも

覚えてるのはりソースだけ死んで(一部か全部かは知らない)デバイスが生きている場合と
デバイスからまるごと死ぬ場合があるってところだけ
各リソースがってところにひっかかってるなら俺の嘘かもしれないので気にしなくていいス

128 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:38:45 ]
>D3DDeviceの指す先が変わってることってあるよな?
意味不明


129 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:40:41 ]
>>126
この方式になったのは8からで、デバイスロストの仕様はそこから変わっていない。

130 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:41:21 ]
>>126
POOL_MANAGEDを設定することで確実に死ななくなってる可能性はあるね
だから、デバイスが死んだときだけ気にすればいいっていう

SDKのサンプルが復旧時にPOOL_MANAGEDであるかどうかしか見てないから
もしかしたらデバイスが死んだときしか気にしなくていいのかもね

131 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:42:56 ]
>>129
仕様はそうかもしれないけど挙動もそうなのかな?
なんかやけにSDKのサンプルがしつこく死なない気がするんだけど
前は解像度切り替えするだけで真っ黒だった希ガス



132 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:43:53 ]
デバイスロストしてもデバイスインタフェイスが使えなくなることも死ぬこともない。
そもそもインタフェイスが死んだらロストしたことを知ることも出来ないし、
メンバを呼び出した時点で例外を出してアプリが落ちる。

133 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:54:56 ]
>>132
あー、そうだ
俺がアフォでした

D3DDeviceを捨てて作り直してるのは俺なのなw
でも、D3DDeviceが死んだら作り直すしかないから、
結果各オブジェクトでD3DDeviceを保持してると困るってことで
別にD3DDeviceが違うもんになるわけじゃないのなw

すいませんでした

134 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:57:04 ]
どうしようもないオチが…

135 名前:デフォルトの名無しさん [2007/09/18(火) 01:01:21 ]
>>121
一応まとめてみたんで貼る。なんかもう解決しちゃってるぽいんで無視してくれ。


例のBBXのMasaの投稿を読み直してみたけど、彼は別に間違ったことは言っていない。

彼が言っているのは、あくまで「リソースを再作成する必要が生じるタイミング」が二種類ある、
ってことだけ。つまり、
1) デバイスがロストした時
2) プログラマが意図的にデバイスを開放した時
だと言っている。

問題なのは、この記述を「ロストが二種類ある」と誤って解釈してしまっている一部のスレ住人だ。
何故か、上の1)2)を「リソースのロスト」と「デバイスのロスト」などと区別してしまっているようだ。

DirectXのヘルプで書かれている「デバイス消失時の〜」ってのは要するに 1) の状態のことだ。
2) の状態のことを、ロストだとか消失だとか普通は言わない。

さらに混乱の元となっているのは、上のBBXのスレッドが、DirectXのサンプルフレームワークを
前提にした議論になってること。
本来ならプログラマが明示的にデバイスを開放しない限り 2) は起こりえないのだが、
サンプルフレームワークではHAL→HELの切り替えなどのタイミングでこれを内部で自動的に
行っているらしく、一部の住人がこれを
「もう一つのロスト状態」だとか「デバイスの指す先は勝手に変わることがあるよな?」
などと勘違いしている、という訳だ。

136 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 01:05:57 ]
>>135
なんかよくわかんね

状態だけでいうと
テクスチャのデータが吹っ飛んで一部のオブジェクトが黒くなっちゃうときと
Presentの関数が失敗するときってのは同じ現象でいいわけ?

137 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 01:11:41 ]
>>129

確かにD3D8からっぽいね。
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdndrive/htm/directx12192000.asp

>デバイスを処理状態に戻せない場合、アプリケーションはデバイスが元に戻るまで待機します。
>この場合、アプリケーションは IDirect3DDevice8::Resetを使用して、デバイス リソースをすべて削除し、
>デバイスを破棄する必要があります。
>その後、初期化の場合と同じように IDirect3DDevice8::CreateDevice を使用してデバイスを
>再作成する必要があります。
>アプリケーションを開発する場合は、デバイスの消失に対応するために 1 つのコード パスで
>アプリケーションを開発することをお勧めします。このコード パスは、
>起動時のデバイスの初期化に使用されるコード パスとほぼ同じになります。

しかし微妙に意味不明だなこれ。
どうせしばらくResetできなさそうなら、
いったん管理リソースも解放してメモリ節約しようって意味かいな?

ただそのちょっとあとにこういう一文も。

>デバイスをリセットできず、廃棄してから再作成する必要がある場合は、
>リソースもすべて再作成する必要があります。

問題はどういう場合にその「必要」があるか、か。

138 名前:137 mailto:sage [2007/09/18(火) 01:21:18 ]
あーもしかしてこういうことか。

(1)フルスクリーンでアプリケーションを作る。
(2)Alt+TABをフォーカスを失わせる
(3)この時点でIDirect3DDevice9::TestCooperativeLevelはD3DERR_DEVICELOSTを返す。

問題はここから。
IDirect3DDevice9::Resetを使えば確かにフルスクリーンからウィンドウモードに
デバイス再構築無しでモード変更は可能。
が、TestCooperativeLevelがD3DERR_DEVICENOTRESETを返すまではResetは呼べない。

つまり、いったんAlt+TABでフォーカスを再取得できれば
D3DERR_DEVICENOTRESET→Reset→ウィンドウモード、のコンボが使えるけど、
フォーカスを得ないままウィンドウモードに変更しようと思ったら
いったんデバイスを破棄しないとダメぽと。

どう?

139 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 01:35:52 ]
>>138
んなこと誰も議論してないんだが。
一人で勝手に議題をすり替えといてどう?なんて言われてもなあ

ちなみに>>137の"必要"ってのは日本語版では訳がいまいちで分かりづらいが、
単にD3DPOOL_DEFAULTなリソースのことを言っている

140 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 01:37:52 ]
>>139
んじゃとりあえず>>101へのレスってことにしといてちょ。

141 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 01:43:32 ]
亀レス乙
ところで>>6とか>>114は同一人物なのかね?



142 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 01:44:43 ]
>>141
そうですよ

143 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 01:50:38 ]
>>6>>114
ネ申

144 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 02:12:58 ]
TestCooperativeLevelがD3DERR_DEVICENOTRESETを返すときって言うのはGPU側のコンテキストが無効になっている。
ちなみに、GPU側のコンテキストってのはVRAM上のリソース等(DEFAULTのリソースと考えて構わない)。
ただし、ランタイムがCPU側に対応するコンテキストを持っているから、これをReset()のまえに開放してあげなくてはいけない。

で、Reset()が失敗する場合は、ランタイム側がデバイスコンテキストすらも無効化してしまっている場合。
この場合はランタイムが全てを諦めてしまっているのでCPU側のリソース(MANAGED、SYSTEMMEM、SCRATCH)も全て無効化されてしまっている。
よって、全てを開放し、参照カウントを元に戻して、デバイスの削除を行い、全てを新デバイスから再初期化しないといけない。

つまり2段階って言うのは、最初がGPU側、次がCPU側って事。


145 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 02:42:22 ]
>>144
つまりReset()が失敗する場合は、MANAGED、SYSTEMMEM、SCRATCH全部アウトで、
>>139の「単にD3DPOOL_DEFAULTなリソースのことを言っている」ってのは誤読ってこと?

146 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 02:59:10 ]
亀レスついでに。>>100

HALからREFへの変更はD3DDEVTYPE変えないといけないんで
Resetじゃ無理だけよ。

>>100が抜き出したところだけ見るとできてしまうように見えるので
誤解する人が出てこないよう一応指摘しとく。

あとはBehaviorFlagsの変更もResetじゃ無理か。
ロストと関係なくてスマソ。

147 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 05:14:53 ]
たかがデバイスロストの対応だけでこの有様。
Windowsは腐ったジャムみたいだな。

148 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 06:24:12 ]
ここでDirectXにドップリ漬かっている俺が登場。

普通に使っている分には、D3DDeviceが使えなくなることは無いが
アプリケーション実行中にnViewのモードを切り替えるような無茶な
ことをしたら、Resetではどうしようもなくなった。

あと試してはいないが、プライマリモニタの切り替えとか、無効化も
駄目っぽい気がする。物理的に別のビデオカードにプライマリが
移ることもあるしね。

149 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 06:52:48 ]
POOL_MANAGEDなんてあんなメモリばかすか食った挙句
失敗してるんじゃ世話ねぇよこいつって感じ
結局、POOL_DEFAULTにして何かあったらD3DDeviceから作り直しするのが
一番楽だしコスト的にいいってのが昔の俺の結論だった・・・っぽい?w

150 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 08:43:04 ]
POOL_MANAGEDは内部的に転送にUpdateSurfaceに相当する機能が使えそうなんだけど
そうなるとPOOL_DEFAULTに比べてCPUパフォーマンスが良くなるんじゃない?

151 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 10:53:05 ]
パフォーマンス重視で動的に更新するのが前提ならAGPメモリ上に置くのが常識なのに、
試しもしないで>>150みたいな適当なことをほざく馬鹿はなんとかなんとかならんのか?



152 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 11:02:43 ]
2chに厳正な書き込みを期待する馬鹿もなんとかならんかな。

153 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 11:24:31 ]
ドキュメント見てないけど、
D3DPOOL_MANAGEDってD3D10じゃないよね?
10からはデバイスロストしないから

154 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 12:43:21 ]
まだいじってないけど
10ならデバイスロストしなくなった?

155 名前:デフォルトの名無しさん [2007/09/18(火) 14:26:53 ]
画面の描画をウィンドウの範囲をしてしてする方法はありますか?
たとえば、1つのウィンドウの半分だけに3Dの画面を表示して、
片方の画面は文字入力用のテキストエディタのようにするような。

156 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 16:08:08 ]
10どころか9Exから簡単にはデバイスロストしなくなった。
もちろん無茶すればロストするよ。
例えばアプリ実行中にドライバーをアップデートするとか。

>>150
それ完璧に考え方が逝ってるから勉強し直しといで。


157 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 16:21:53 ]
>>156
いい加減無責任な発言は控えろよな。

158 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 16:29:04 ]
>アプリ実行中にドライバーをアップデートするとか。
>アプリ実行中にドライバーをアップデートするとか。
>アプリ実行中にドライバーをアップデートするとか。

159 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 17:11:03 ]
>>157
極論だが、至って分かりやすくて自分のアプリでもデバイスロストをテストするときに
デバイスマネージャーからドライバーを無効にしたりしてせめてエラー処理をテストするのは当然だけどな。


160 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 17:13:20 ]
今日のお題はドライバーのアップデートとデバイスロストの関係についてw

161 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 17:16:33 ]
>>159は本物のプログラマ



162 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 17:28:52 ]
いや本物じゃなくても普通それくらいはするだろ?
ドライバーを無効にする、ハードウェアアクセラレーションを切る、くらいは
やってテストしとかないと怖くて公開できないよ。

流石に実行中にドライバを更新するなんてテストはしたことないけどな

163 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 17:36:26 ]
どうやら真性です。本当にあり(ry

164 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 17:49:13 ]
真性だな

165 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 17:50:55 ]
>>162
ドライバーを更新するのとドライバーを無効にするってのは実行中のアプリからすると同じ意味だよ。
XPしか使っていないなら分からないかもしれないが、Vistaだとリブートなしでドライバー更新できるから、
更新するとまずはじめに現在のドライバーが無効化された後、アンインストールされ、その後新しいドライバーがインストールされる。


166 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 18:00:51 ]
>>156
>>165

これね。

ttp://www.microsoft.com/japan/msdn/windowsvista/general/AppComp.aspx#appcomp_topic17
>再起動なしのドライバ アップグレード

VistaではDirect3D描画アプリが大幅に増えた。
DWMは実質フルスクリーンアプリ相当だし
WPFアプリもオフスクリーンサーフェイスにD3D9Exで描画してる。

再起動なしのドライバアップグレードを実現するためには、
ドライバが対応することも当然ながら
D3Dを使うアプリがDevice Removedからの復帰コードを持つことも重要。

そこの対応が甘いと、Windows Updateを実行したらアプリが落ちたって羽目になる。

167 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 18:11:25 ]
そうだな5分に10回はWindowsUpdateするからな。
必要だな。

168 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 18:29:27 ]
>>166
フルスクリーンアプリが起動したり、リモートデスクトップで接続されたりしてもデバイスロストしたかも。


169 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 18:29:54 ]
どうせデバイスロストなんて頻繁に起こるものではないのだから、
残存リソースの再利用に拘るほどのものじゃないだろ。貧乏臭すぎ。

ってかこの話は >>81 が発端てことで良いんだよね?

170 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 18:55:56 ]
次はスマートポインタの是非を語ろうぜwww

171 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 19:03:56 ]
>>170 (゚∀゚)カエレ!



172 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 21:11:09 ]
この仕様だとPOOL_MANAGEDがなんのためにあるのか謎

173 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 21:27:01 ]
これだけは言える。管理を放棄してスマートポインタで逃げる事ばかり
考える奴は脳の病気。確実に逝っちゃってる人間の考え。

174 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 21:34:19 ]
>>173
実際すさまじいバグり方するよなw
メモリの解放忘れだけにしとけって感じだ

175 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 21:48:36 ]
test

176 名前:81 mailto:sage [2007/09/18(火) 21:50:01 ]
おお、やっと書き込めた。規制の巻き添え食らってた。
俺の最初のレスからここまで議論になるとは思わなかった。
正直レベル高すぎてついていける気がしないw

177 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 21:55:24 ]
しょーもない口論だからついていかなくていいよ。
質問に対する正解は>>6です。

178 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 22:00:34 ]
>>1-177
お前らはデバイスロストの話をいちいち蒸し返さないと死ぬ呪いにでもかかっているのか?

179 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 22:04:43 ]
>>178
なんで俺まで捲き込んでんだよ
俺をデバイスロスト厨と一緒にすんな

180 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 22:06:04 ]
>>177
少しは面白いネタを用意しろよ。
それじゃ外しまくり。

181 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 22:08:38 ]
>>180
ごめん、再挑戦してみる。



182 名前:81 mailto:sage [2007/09/18(火) 22:24:55 ]
ちなみに>>5も俺だ。

183 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 22:29:03 ]
>>182
さんざん考えてそれかよ
やっぱりだめ。つかさらに外してる。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<237KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef