C#は電気羊の夢を見るか?(引っ越し中)

dtiブログが閉鎖とのことでhttp://tanocs.blog.fc2.com/へ引っ越します。

Radeonの問題点

非常に悔しい思いをした。

出張先で携帯のバッテリーが切れたとき、
コンビニで充電器を買わねばならぬあの悔しさと同じ感覚だ。

そんなわけで、とうとうRadeonをデバッグ環境として購入しました。
”そんなわけ”というのは、公開したゲームが一部のRadeonで動かないんじゃボケというご報告が多かったから

HD4850とかもう型落ちも良い所の不良在庫品を
8000円弱の値を払って買うハメになるとは・・トホホ。

生まれてはじめて買ったRadeonが、まさかこんな形になろうとは思いよらなんだ。


閑話休題


Windows向けにXNAのゲームを公開している人が
一体どれくらいこの世の中に存在するのか知らないが、
私と同じようにRadeonを買わされる人が居なくなるように、
今回手に入れたノウハウを、非常に稀有な人にむけて発信する。


SpriteBatchの挙動
これはもう、どこに文句を言ったらいいか解らないので愚痴っておく。

SpriteBatchでエフェクトを使う、みたいな解説を見ると
大抵レジストリ0番に値があるのを期待してエフェクトを書くような解説になっているのだが、
残念ながらこれが超危険な行為であることがわかった。

RadeonのHD4xxx系とHD6xxx系は、どうやらこれをやると正常に動作しない模様。
原因や、挙動を予測しようとすると、夜に寝られなくなるくらい不思議な現象だが、
事実そうなるんだから仕方ない。


対処法は公式のブルームサンプルにある
DrawFullScreenQuadで代用が効くので、こちらに移行することを強くオススメする。


▲謄スチャの寿命
たしかXNA4.0ではこの心配は不要になったはずなので、XNA3.1で開発してる人向け。

texture2d.SetData時にテクスチャの寿命を明示的に指定してやらないと
Radeonはこれを即効でぶち壊す。

特にTexSkinningSampleのテクスチャアニメーション使ってる人は要注意。


こういった挙動を見て思うんだが、Radeonってのは一体どんな設計になってるんだろうか(;;
多くのゲームがRadeonに不具合を抱えている原因も、こういった変態的な動作の性だともう。
このエントリーをはてなブックマークに追加
LINEで送る

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://t01a.dtiblog.com/tb.php/128-fb829896

« 苦手意識  | HOME |  土下座もの »

PAGE TOP ▲

Appendix

■春条

■春条

生息地は愛知
車と甘い物が好きな31歳
特技は無限昼寝

MONOからSharpDXを使う
変態的な手法で、
.NET Frameworkを使わずに
ゲーム作りやってます。

Search

Calender

« | 2018-11 | »
S M T W T F S
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

Twitter

Recent Entries

DTIブログポータルへ
このブログを通報
Report Abuse

利用規約