Project Flower ブログ

Project Flowerのブログです。

AMD Dual Graphics

A10-7890KとRadeon R7 250、MSIマザーボードでDual Graphicsを構築した。

Web上で見つかる情報と異なる部分が多くありハマッたので覚書。

MSIのM/B(旬ではないが…)を使っている人には役に立つかもしれない。

グラフィックボードのディスプレイ出力を使用する場合

BIOS設定

Integrated Graphics Device Configuration
  • Initiate Graphics Adapter: PEG
  • Integrated Graphics Devices: Dual Graphics
  • Integrated Graphics Share Memory: (任意)
  1. ボード取り付け後、BIOS上で上記の設定にする。
    (※BIOSメニューはInitiate Graphics Adapterで設定した出力先にディスプレイを繋がないと表示されないので注意)
  2. Windows起動後、自動的にドライバがインストールされる。
  3. Radeon Softwareを開き、"ゲーム"→"グローバル設定"→"グローバルグラフィック (AMD Radeon R7 Graphics + R7 200 Dual Graphics)"→"AMD CrossFire"が"オン"になっている事を確認する。
    f:id:project_flower:20170818154321p:plain
  4. グローバルグラフィック (AMD Radeon R7 Graphics + R7 200 Dual Graphics)が表示されない場合、"ゲーム"→"グローバル設定"→"グローバルグラフィック (AMD Radeon 200 Series)"→"AMD CrossFire"をクリックすれば確認が表示され、オンにする事ができる。
    f:id:project_flower:20170818154527p:plain
  5. バイス マネージャでディスプレイ アダプタを見ると、"AMD Radeon R7 Graphics + R7 200 Dual Graphics"と"AMD Radeon(TM) R7 Graphics"の組み合わせとなっている。
  6. そうでない場合、AMDのサイトより、Radeon Softwareの最新版をダウンロードし、インストールし、2.からやり直してみる。

オンボードのディスプレイ出力を使用する場合

BIOS設定

Integrated Graphics Device Configuration
  • Initiate Graphics Adapter: IGD
  • Integrated Graphics Devices: Dual Graphics
  • Integrated Graphics Share Memory: (任意)
  1. ボード取り付け後、BIOS上で上記の設定にする。
  2. Windows起動後、自動的にドライバがインストールされる。
  3. バイス マネージャでディスプレイ アダプタを見ると、"AMD R7 200 Series"と"AMD Radeon(TM) R7 Graphics"の組み合わせとなっている。
    f:id:project_flower:20170817085855p:plain
  4. Radeon Softwareを開き、"ゲーム"→"グローバル設定"→"AMD Radeon Dual Grap..."が"オン"になっている事を確認する。
    そうでない場合、クリックすれば確認が表示され、オンにする事ができる。
    f:id:project_flower:20170818155039p:plain

ポイント

  • グラボからの出力を使用する場合、デバイス マネージャ上でDual Graphicsが有効である事が確認できる。又、Radeon Software上ではCrossFireと表記される。
  • オンボード出力を使用する場合、デバイス マネージャ上にDual Graphicsは表示されない。

Web上で見つかった情報

  • Radeon Softwareの"Radeon 追加設定"(従来のCatalyst Control Center)から設定するという情報があるが、現在のRadeon Softwareでは存在せず、設定はできない。
    (※Windows Updateによるドライバがインストールされている場合、"Radeon 追加設定"は存在したが、その先に"ゲーム"及びDual Graphicsの項目はなかった)

パフォーマンス

3DMark

  Clowd Gate Fire Strike
A10 7890K 6243 1468
Radeon R7 250 1GD5 OC 8523 2171
Dual Graphics (グラフィックボードのディスプレイ出力) 9853 2552
Dual Graphics (オンボードのディスプレイ出力) 9874 2566

Dual Graphicsの効果はあるようだが、Fire Strikeのデモ画面を見ている限りでは、オンボードでは紙芝居なのがグラボ出力では何とかアニメーションに見えるようになるので、グラボが特に頑張っているように感じる。

メイン メモリをDDR3-2400にするとどの位パフォーマンスが向上するか気になるところ。(M/BはDDR3-2133までしか対応していない)

ただ、元々ゲーム向きの構成は考えていないし、本当に快適にゲームをやりたいならA10は選ばないかな。

その他

  • Forza Horizon 3で試した結果、スペックは出力しているアダプタに依存する。
    グラボから出力すると、恐らくGDDR5のメモリ効率が良いためパフォーマンスは良いが、VRAMは(1GBとして認識され)不足と警告が出る。
    オンボードとグラボのVRAM容量を合計して3GB、という訳ではない様子。
    但しこれは、アプリケーション(ゲーム)によって異なるかもしれない。
    本来Forza Horizon 3はSLIに対応していないらしいので、CrossFireを応用したDual Graphicsは利用できないのだと思う。実際、オンボード出力を使用するとVRAM不足の警告は出なくなるが動きがおかしく、ゲームにならなかった。
    (ちなみにDual Graphicsを使わずに7890Kのオンボード出力を使用すれば、画質は最低限だがゲームはそれほど問題なく楽しめる)
  • MSIのR7 250はVRAMがGDDR5 1GBのもの(今回装着したもの)とDDR3(1800MHz) 2GBのものがある。
    GDDR5はバススピードが4.6GHzなのでパフォーマンスはこちらが上だと思う。但し、GDDR5版にはCrossFire(ボードどうしの方)への対応が書かれていない。
    尚、MSIのサイトを見るとR7 250は7種類もあり、GDDR5 2GBのものもあるが、アスクが販売しているのは前述の2種類のみの模様。
    R7 250は流通量も少なくなっており、スペックの割に高値となっている。
    A-Series最新版の7890Kとは言え、Dual Graphicsの現実的なメリットはかなり薄らいでいる感じがある。

所感

ソフトベンダーはアップデートで仕様を変え、その差異が詳細に公表されていない場合が多く、今までのチュートリアルが役に立たなくなる事が多い。今回はMSIのM/Bの設定方法は自力で調べたが、Web上で調べたRadeon Software(とCatalyst)の情報はほとんど役に立たなくなっていた。

例えばマイクロソフトによるWindows Creators Updateも顕著で、NEC富士通が自社PCユーザー向けに公開しているWindows 10のチュートリアルは既にUIが異なっており、役に立たない部分が少なくない。

ベンダーの立場とすればユーザーがUIに従えば目的に辿り着けるというスタンスなのかもしれないが、ユーザーは既に機能を知っており、知りたいのはその機能がどこからどこへ移動したのかでしかなく、それを知る術はベンダー側は用意していない事が多い。

手順書

とあるシステムへのインストーラの作り方。

  1. Subversionからソースコードをチェックアウトする。
  2. 仮想マシンソースコードをコピーする。
  3. ソースコードをビルドする。
  4. 仮想マシンのDドライブのXXXXXというフォルダに年・月・日とバージョンを記したフォルダを作成する。
  5. XXXXXというバッチファイルを実行する。
  6. チェックアウトしたフォルダを4.で作成したフォルダにコピーする。
  7. XXXXXというバッチファイルを実行する。
  8. XXXXXというフォルダの前回のバージョンのフォルダをコピーして新しいバージョンにリネームする。
  9. workというフォルダにXXXXXというファイルがあったら削除する。
  10. 6.でコピーしたフォルダをホストPCにコピーする。
  11. ホストPCでXXXXXというフォルダのExcelブックを開いてマクロを実行する。
  12. ダイアログが現れるので、7.のバッチで出力されたファイルを指定する。
  13. 新しいExcelのシートが作成されるので、8.でコピーしたフォルダにあるExcelのブックにシートを追加する。

一つでも失敗したらどうなるんでしょうね。気が狂いそうになるわ。

ちなみにバッチファイルは何らかのエラーが発生しても決して通知しません。素敵です。

一体誰が考えたんでしょう。

考えた時、“面倒臭い”とか“手順を間違えそう”とか思わなかったのかな。

プログラマーという人間は、面倒臭い事を減らしたくなる性分だと思うので、プログラマーではないよね、きっと。

C++を学習する

自分の知らないプログラム言語を習得しようとする時、社会に出てからは、一から手取り足取り教えてもらえる機会はなかなかない。

自分は新しい現場でC++Builderを使う事になったが、C++Builderの本はあまり見つからなかった。

神保町の三省堂で見つけたので購入してみたが、内容が多くリファレンスマニュアルのようなものだったので、どこから覚えるべきかわからずあまり役に立たなかった。

そもそも大学のFreeBSDでCでHello Worldを学んだ程度で、本格的にプログラムを書いたのはC#Javaしかなかった。(子供の頃にMSXFM TOWNSでBASICを書いてはいたが)

C++に拡げれば様々な本があるし、Webで学習する事もできなくもないが、選びきれない。そんな優柔不断で横着でせっかちな私が見つけた初心者にお勧めだと思ったのがこれ。

日経ソフトウエア 2010年 04月号付録の“C++まるごと学習ブック”。(絶版)

日経ソフトウエア 2010年 04月号 [雑誌]

日経ソフトウエア 2010年 04月号 [雑誌]

 

この冊子の何が良いかと言えば、“ページ数が少ない”という事。

C++でプログラミングをする上で最低限必要な知識を、実際にコーディングしてコンパイルして実行するという手順を示してシンプルにわかりやすく解説されている。

クラスの継承について重点的に説明しているのはもちろん、コピーコンストラクタや分割コンパイルについてもしっかりと解説されている。(現場ではこのあたりをよく理解せずプログラムを書いているコーダーは多いと感じている)

演算子の多重定義・例外・テンプレートまで解説されていて、それでいてボリュームも大きくないので、初心者にとって抵抗感は小さい。この冊子を一読する事でC++に対する不安は和らいだ。

なお3月号は“C/C++基礎から学習ブック”が付録となっている。プログラム言語を学習するのが全く初めての場合は、こちらから読み始めた方が良さそう。

日経ソフトウェアバックナンバーを電子化しているのだが、これらの付録は電子化されていないので、現在のところ、古本以外で手に入れる事ができないのが残念なところ。一部の付録は電子化されているので、この冊子の電子化も期待したい。

ちなみに日経ソフトウェアは2012年頃にインターン女子C#を学ぶという連載マンガがあったが、これも実に良かった。MSDNライブラリで難解な解説を読んでも理解するのに時間がかかるが(何故MSDNライブラリは図や画像の掲載が極端に少ないのだろう?)、マンガとして噛み砕く事でわかりにくい知識も比較的すんなり受け入れる事ができた。

Windows 10 Creators Update

エクスプローラからコマンド プロンプトを起動させることができなくなり、標準がPowerShellに変わりました。

一向に構いません。でも、

desktop.ini

このファイル何とかなりませんか?

そもそもINIファイルってもはや非推奨なのでは?

学習

私は某SIerの下請けとして開発職に携わっている。

この会社の社員の学習意欲は総じて低い。

新入社員は意外と多い。入社後しばらくは研修としてC言語のプログラムの書き方を教育されているようだ。

しかし実際現場に入ると設計も任される事になる。

設計の仕方を知らない新人がどうやって設計をすれば良いのか?

それは、先輩達が書いた設計書と同じようなものを作れば良いのである。

そしてそれは設計書とは言ってもファイルの一覧やプロセスの一覧が書かれた表のようなものがある程度で、そこからソフトウェアを作成していく事ができるとは到底思えない代物。中堅の社員でさえ、フローチャートしか書けず、ER図やシーケンス図を書いた事がない。

つまり、文書を作成するだけなのだ。

そしてプログラムはこれまた先輩達が作ってきたものをベースに書き換えて、動けばいい。最早設計書など必要ない。客から要求されているから仕方なく作っているようなものだ。設計書がいい加減だからテストを作成するのも苦労する(ちなみにこの会社は単体テスト=画面レベルのテストと認識している。それ以下のレベルのテストはないので、関数レベルのテストはプログラマーがこっそり作成する事になる。当然、自動テストもCIも導入する気はない)。

開発で主に使用するIDEC++Builder。それもXEではなく、Borlandだった頃の6。10年以上前の開発環境を新規案件でも使っている。

何故C++Builderなのか?答えは簡単、他のツールの使い方を知っている社員がいないから。

この会社は今時珍しく(?)中途採用の社員が殆どいない。

そして社員が受ける研修らしい研修は前述のC言語だけ。文系大卒も多いので、どの程度のレベルの内容かも想像はつく。

だから何か新しい事を始めようとしてもリスクを恐れ一向に踏み出せない。

先日Windows Serverの新規案件があったのでASP.Netを提案したが、“誰も作り方がわからないし、ASP Classic(VBSで書くASP)は今までやってきた実績があるから”という理由で一蹴され、Classicになってしまった。

そもそも新しい技術とは今までできなかった事や不便であったものを使えるように、或いは更に使いやすくするために登場するものである。

“使った事がない”“使い方がわからない”“何が起こるかわからない”と言って躊躇っていてはいつまでもその恩恵を受ける事ができない。今まで10行書く必要があった処理を1行で書く事ができるようになれば、品質を向上させる事にだってつながる。

最近どういう風の吹き回しか、ある社員によりJavaScriptを導入する事になった。新しい技術を使えるようになって自らのスキルをアピールする事は結構な事だ。

しかしその人から渡されたコードはWebで拾い集めたサンプルコードを組み合わせただけのようなものだった。

私は自社の研修でJavaScriptの研修があったのでそれを受講した。研修ではMEANを扱った。衝撃を受け、愕然とした。

現実的に今からASPからNode.js等に移行するのは無理だろうし、MEANの話をしたら拒否反応を示されるだろう。

でも、仮にもお客様に納入する製品をサンプルコードの組み合わせで実装するというのも如何なものか。

私のような協力会社は割といる。しかし協力会社は立場が低く、意見が採用されない。開発環境が良くないからこれを使いましょう、余所の会社ではどこでもこれをやっているのでやりましょう、等と言っても怪訝な顔をされるだけだ。

私はこの会社が中途採用をしたがらない理由が最近わかってきた気がする。同社に流れている生ぬるい空気を見知らぬ風に吹き飛ばされるのが嫌なのだろう。自社の社員の学習意欲は低いので、中途の社員の方がスキルが高い可能性は高いのである。そして社員同士は切磋琢磨する必要がなくなるので、学習意欲もきっと向上しない。

PF Mouse 更新

PF MouseWindows XPで起動しなくなっていたため修正しました。

又、余計なデバッグ情報が含まれておりファイルサイズが肥大化していたため修正しました。

移行しました。

はてなに移行しました。

過去記事はhttp://blog.goo.ne.jp/project_flower

Backside ProjectにPF TrashとPF Clockをアップロードしました。お試し下さい。