こんにちは、エンジニアのオオバです。
まず最初にコチラのサイトをほぼ写経させていただいております。
本当にありがとうございます。とても勉強になっております。
DirectXを始める経緯は割愛しますが、目指すレベルは「業務では一切使わないが、何となくコードが分かって全体感が理解できている程度」です。
そもそもタイトルのSlimDX
とは何かを一言で表すと「C#でDirectXを書く」ためのライブラリで、普通はC++で記述するところをC#で書けるため、Unityエンジニアのぼくとしてはありがたい代物です。
ちなみにDirectXの9〜11をサポートしているが、11.1以降は未対応とのことで、DirectXの基礎や練習レベルでは問題ないのではないかと思います。
とりあえず始めてみます。
ウィンドウの表示
![C#でDirectX11 SlimDXでウィンドウを表示させる_0](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20181031/20181031020929.png#486__464)
とりあえず表示する場所を作らないといけないためウィンドウを表示させてみます。
SlimeDX付属のMessagePumpクラスを使用します。
// formは描画をウィンドウ
// 描画関数(何度も呼ばれます)
MessagePump.Run(form, Draw)
![C#でDirectX11 SlimDXでウィンドウを表示させる_1](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20181113/20181113204013.png#178__155)
するとこのように、同じ時間が複数出力されることから、MessagePump.Runによるループ処理は、
フレームレートは考慮されない
ということが分かりました。 参考
![](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20181031/20181031020929.png#486.0__464.0)
この記事が気に入ったらフォローしよう
オススメ記事
検証環境
- Windows8.1
- SlimDX 2.0.13.43