どのようにハードそれは、Windows 7上で実行するためにはDirectX 7アプリケーションポートになるのでしょうか?

StackOverflow https://stackoverflow.com/questions/1522039

  •  19-09-2019
  •  | 
  •  

質問

私たちは、Win98の上で実行されているアーケード/償還ゲームを持っていましたが、それを実行することができ、ハードウェアには、最終的には廃止されてしまいました。ゲームは、スケーリング効果の数、3Dパスを通していくつかを使用し、ビデオメモリの中と外に物事を移動するいくつかのトリックを果たしました。私はそれは、Windows 7上で動作するように移植着手することだった場合、それは可能性がどのくらいのトラブルでしょうか?それは主に再コンパイルすること、またはAPIは、私は、同様のデバイスのインターフェイスを再書き込み可能性がある、このような形質転換を受けていますか?

役に立ちましたか?

解決

Win7のへの移植のようなものと考えてはいけません。 DX9に単にポートとDXは、Win7の部品との仕事をしてみましょう。あるようInfactは、あなたはおそらくちょうどそれを残すことができ、それが実行さshuold - しかし、あなたは私がDXとは何の関係もないと仮定したビデオメモリを持つ狂気の事を行うに言及します。 (つまり、いずれかのGDIまたはいくつかの他のハック経由?)。とにかく、DX7、8と9つのAPIはすべて、かなり思い切った違いがあります。しかし、良いところは、彼らがすべての後方互換性だです。あなたが持っているコードは、純粋なDX7の場合は、最新のSDKに対してコンパイルしようとすると、それがまっすぐオフwin7の上で動作するかどうかを確認します。

他のヒント

私はどんなのDirectX7コード(またはすべてのDirect Xのコード)を書いたので、

これは、しばらくしているが、私はリコール場合は7と8の間にいくつかの重要なAPIの変更イベントがあった - 9または10に沿ってみましょう - そのようになるだろうというもう少し難しい変更。具体的に私は大きな変化は、私はそれ以来見ていないが、私は与えられたと思われる2つのシステムは7と8の間、もはや完全に分離したように、彼らはDirect3DのにはDirectDrawをマージする7後にシステムをリファクタリングしていることだったと思いますそして、新たな符号化方式の数は、APIが、おそらくあなたが望んでいる場合がありますように、ほとんどの再コンパイルではなく、これらの変更を行うために、プロジェクトのビットであることを行っているので、かなりの変更があることを気に入っています。

あなたはビデオメモリの中と外に物事を動かし? の身震い

まだ...そのDX7の周りだったときよりも、今それを行うことが迅速。あなたは正確に何をしていましたか?あなたの説明から、それがいかに簡単かを言うことはその不可能。 DX7のアプリはまだ私はあなたがそれを破る原因となるものを使用している可能性があり奇数何の特徴を考えることはできません、Windows 7で実行する必要があります。

また7からDX9にアプリケーションを変換することは、実際にすべてがハードではない(DX10 +に変換すると、悪夢であろう)。彼らは...まだ当時は_ * * D3DTSS_するD3DTRANSFORMSTAGESTATE_ *またはD3DRENDERSTATE_ *のようなものの短縮であるかD3DRS以降に変更された主なものは比較的類似しています。

編集:DX7は、グラフィックスカードメーカーが現代のマシン上でいくつかの古いアプリケーションを破る「でした」palettisedテクスチャのサポートを落としているということですので、私はそれを考えることができる最大の変化が起こっています。それは実際にも非常に簡単な修正です...

EDIT2:テクスチャにディスクから物事を解凍すると、痛みを少しすることができます。あなたの主な問題は、あなたがテクスチャを作成する際のパフォーマンスヒットを受けてしまうということです。あなたはテクスチャすでに作成やオープンの負荷を持っている場合は、あなたは、関連するテクスチャとして、いつあなたが喜ばに読み込むことができます。あなただけのロック/アンロックのヒットを被ります。それは、事前にリソース数フレームをロードすることによって緩和することができます。あなたがこれを行う場合は、しかし、それは間違いなく、複数のスレッドからマルチスレッドおよび呼び出しD3Dを必要としないでしょう。あなたが行う場合、これは、デバイス上で、マルチスレッドのフラグを設定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top