白峯のソース

IT なことのメモなど

Intel Core-i7 Haswell で静音PCを組む (1)

f:id:hakuhou-src:20130802145613j:plain

△ リプレイス前のPC

 

◆要約

 

Intel Core-i7 (Haswell)で静音PCを組む

・熱的に許容できるところまでファンレス化、またはファンの低回転化する

・パワー重視ではないが、重くないクリエイティブ系作業はできる程度に(FF14は努力目標)

 

自作PCについてと今回の方向性

 

自作PCというと、かつては最新スペックのパソコンを安価に組めることが利点であったと思うが、先端性という面でも金額という面でもノートPCより絶対的に優れているとは言えなくなった。

最新のCPUにいたっては、モバイル用のみに搭載されている機能もあったりと、パソコンの主流は完全にノート…いや、今ではもはやタブレットに移りつつある。

特に大きさや重さの観点から見て、自作PC(というよりデスクトップPC)は絶対的に不利であり、普段使いするならばたいていはノートPCやタブレットPCの方が使いやすいだろう。

それでも、パワフルな速度や容量を求めるならば、自作PC及びデスクトップPCの存在価値はまだある。

特に、クリエイティブ系の作業やゲームにおいてはノートPCやタブレットPCに対して有利な点が多い。

 

筆者はというと、クリエイティブ系の作業はデスクトップPCで、それ以外はノートPCという使い分けをしている。

しかし、クリエイティブ作業といっても、せいぜい数100MBの画像をPhotoshopで加工する程度だし、映像を作るにしてもウェブ品質のものを10分程度作るぐらいだ。音楽もMIDIでラフが作れれば十分。

Illustratorでポスター的なものを作ったりもするが、メモリさえあればCPUはエントリーモデルで事足りるだろう。

ただ、ゲームについては新生FF14はやってみたい。しかし、それも最高品質の画質である必要はないだろう。

 

それよりも気になるのは音だ。

パソコンのファンの音は相当耳障りだ。特に家では静けさ重視で、テレビも音楽もかけない(かけてもリズムが弱い静かなもの)、エアコンもしずかモードにしたりと、室内の音は最小限にしたい人間だ。

 

先程のパソコンの形云々では取り上げなかったが、自作デスクトップPCは静音化において有利な点がいくつかあると思っている。

一つは、大きなファンを搭載できる点。大きなファンはその大きさで空気流量を稼げるため低速で回せ、静音化に有利だ。

二つ目は、危険をおかせること(笑)。完成品として商品化したものはあらゆる環境でも安全に動く必要があるが、自作PCの基本は自己責任である。基本的には猛暑の中で動かす気はないし、動かなかったとしてもクレームをつける対象はいない(笑)

 

自作PCを触れていると、どの辺りがやばいラインなのかを知ることができるのはメリットだ。

それは業務で使う際の安全ポイントを見極めることができるからだ。

会社でサーバーを組む場合は当然家自作PCの何倍も安全に組むが、例えばファンも過剰に回すと埃が溜まりやすくなるし、故障率も高くなるといえる。

とにかくガンガン空気を流せば良いというものではない。

もちろんメーカー側のリファレンス設計というものはあるが、それの動作範囲の定義は意外と曖昧だ。

その点、やばいラインを知っておくと目安を得ることができる。

 

静音化のポイントは冷却であるが、可能な限りファンレス化をして、冷却は大口径のケースファンに任せたい。

温度的にやばくなったらファンコントローラーで高速化。それでも足りなかったらファンを追加する。

 

そんな訳で、今回は(も)静音とパワーのバランスと実用性をコンセプトとしたい。

せっかく組んだものは長く使いたいし、できれは人にも勧められるものにしたい。

 

インテルの新CPU、Haswell

 

インテルの新CPU、Haswellシリーズが出てからしばらく経つが、筆者が注目したのは「Core-7 4765T」のTDP35Wだ。

Core-i7でありながらこの熱設計。費用対効果が気になるが、個人的には魅力的なCPUだ。

しかし、ネットでの注目度は低いようで、情報は少ない。

 

以前、Core-i3 3220Tで社内ファイルサーバーをWindows Serverで組んだが、速度的に全く問題はなかった。(弊社はグループ合わせても同時アクセス数はせいぜい30名くらいだが、中には大きい画像や映像ファイルも含む。)

そのTシリーズのCore-i7版ならば、筆者程度のクリエイティブ作業やゲームならいけるのでは?という目論見である。

 

正直Core-i5でも問題なさそうだが、それだと若干面白みにかける。

また、クリエイティブ系の作業は重いものはやらないにしても速いに越したことはないだろう。動画のエンコードもたまにある。

 

今回は、ちょうど明日に秋葉原に行く用事が出来たので「よし、組むか!」となったわけだが、現時点においての無難なパーツ選択をしておきたい。

筆者はオーバークロックするよりも静音化に興味がある方ではあるが、水冷までする気までにはなれない、“使い始めたらもう箱を開けたくない派”だ。

つまり、今回は(も)実際に仕事で使うのに安全なパソコンを組むつもりだ。

 

そのようなわけで、現時点での主要パーツは以下の様な予定だ。

 

【CPU】Intel Core i7-4765T

【マザー】ASUSTeK H87-PLUS

【メモリ】DDR3-1600 8GB

SSD】250GB 2万円程度のもの(SAMSUNGTLCIntel SSD 335か?)

【電源】Antec EarthWatts EA-550 Platinum

 

Core-i7 4765Tをベースにパーツを選んだ。

明日秋葉原を練り歩くのだが、店に置いてないとも限らない。

その場合は、Core-i5 xxxxT でも正直いいのだがその場合はこの記事は企画倒れになってしまうため、ネットで買うことになるかもしれない。

あと、Core i7-4765Tはバルクになりそうなので、CPUクーラーも買わねばなるまい。ファンレスで良いのがあると良いのだが…。過去の経験上、CPUクーラーは何度も買い直すハメになりがちである…(そしてどうしたら良いかわからない使えるが使えない物体が残る)。静音化をうたっていればファン付きでもいいのやもしれない。

 

マザーは適当だが、大きいビデオカードは指す可能性があるのでATXで。(ケースはATXである。)

チップセットはB85でもいいのかもしれない(Intel Small Business Advantageのバックアップソフトが気にならなくもない…)。

 

メモリは、今回は大人しく8GBに。会社のPCは自腹で16GBにしたが、正直そんなに使うものではない。とはいえ、最近はVMでLinuxやらWindowsXPやらを起動するので4GBでは明らかに不足だ。

試しに、今原稿を書いているWindows7 PCで、Photoshopでデジカメ画像を開き、IllustratorでA3ポスターの制作データを開き、VisualStudioでiOSゲームのプロジェクトを開き、EclipseAndroidアプリのプロジェクトを開き、WindowsXPをXPモードで開き(XPではiTunesを起動)、その他メーラーやらなんやらが開いた状態でのタスクマネージャーでのメモリ使用量が5.25GBであった。

 

ストレージはちょっと贅沢してSSDに。しかしHDDより発熱が低くて性能はそこそこで問題ないので、2万円程度の物ということでややケチる。

 

ビデオカードはゲームにおいて欲しい所だが、Core-i7 4765Tの内臓GPUで意外とLOW品質ならFF14いけちゃうみたいなんで、それでいいかな、と。でも、後で買うことになる可能性はある。それでもファンレスでがんばりたい(Powercolor SCS3 HD7850 など)。

なお、FF14 は新生前の旧バージョンを買ってあるが、レベル5程上げたところで止まっている。新生バージョンはβテスト申請をしたところだがテスト参加のやり方がわからなくなり、なんとなく止まっている。その程度のモチベーションである…。

DQXはWindows版をやりたかったのだが、BGMがUのオケ版ではないようなので急速に冷めた。(Wii版で現Lv60。)

もし仕事などでWindowsゲームの開発が入ったら(春にあったばかりだが…)、また違う展開になるかもしれない。

 

電源は、現在のケースがAntec製なので、合わせておいたほうが良いかな的なチョイスだ。Haswell対応電源(最小電流値0.05A出力制御)で静かであれば他でもいいのかもしれない。

 

残る、ディスプレイ、キーボード、マウス、光学ドライブなどは現存のものを流用する。パーツの流用は自作PCの利点の一つだ。

光学ドライブはそろそろBlu-rayにしても良いかもしれない。

 

◆決戦は明日、秋葉原で

 

だいぶ長くなってしまったが、重要なのは現地での決断力である。

急遽ノートPCを買いたくなるやもしれない。(特にLaVieZの魅了はなんとしてもガードしなければならない。奴は持ち上げたら最後だ!)

やっぱしCore i3-3220Tでいいんぢゃね?とかならない事を祈るばかりである。

 

続きは後ほど。

 

REGZA Tablet の ADB ドライバのインストール

REGZA Tablet AT501 を買ったが、Android 開発用の ADB ドライバが見つからなかったため、自前(?)でインストールした。

その時の手順メモ。

おそらく、REGZA Tablet 以外の Android 端末・・・それ以外にも専用ドライバの見つからないデバイスを互換ドライバで動かす際に使える方法。

 

 

(1) SDKGoogle USB Driver をインストール

Android SDK Manager で Extras の「Google USB Driver」をインストールしておく.


(2) ハードウェア ID をメモする

[コンピュータ]右クリック
→[管理]から[コンピュータの管理]を開く
→[デバイス マネージャー]
→[ほかのデバイス]から ! のついている Android デバイスを見つける(今回は「AT400」と出た)
→ ! のついている Android デバイスを右クリック
→[詳細]からプロパティを開く
→[詳細]タブ
→ プロパティのプルダウンボックスを[ハードウェア ID]に設定
→ 表示されるハードウェア IDをメモする
  1番目の USB\VID_xxxx&PID_xxxx&REV_xxxx&MI_xx (xx はそれぞれの数値)
   の &REV_ より前が %SingleAdbInterface% に設定する値.
  2 番目の USB\VID_xxxx&PID_xxxx&MI_xx
   が %CompositeAdbInterface% に設定する値.


(3) inf の編集

{Android SDK フォルダ}\extras\google\usb_driver の中の android_winusb.infテキストエディタで開く.
Windows が 32bit OS の場合は [Google.NTx86],64bit OS の場合は [Google.NTamd64] の下に,
先ほどメモした値を以下の形式で書き込む.

;TOSHIBA REGZA Tablet AT501
%SingleAdbInterface%        = USB_Install, USB\VID_xxxx&PID_xxxx
%CompositeAdbInterface%     = USB_Install, USB\VID_xxxx&PID_xxxx&MI_xx


(4) ドライバのインストール

[コンピュータ]右クリック
→[管理]から[コンピュータの管理]を開く
→[デバイス マネージャー]
→[ほかのデバイス]から ! のついている Android デバイスを見つける
→ ! のついている Android デバイスを右クリック
→[ドライバーソフトウェアの更新]
→[コンピューターを参照してドライバーソフトウェアを検索します]
→{Android SDK フォルダ}\extras\google\usb_driver を参照して[次へ]
(→セキュリティのインストール元云々の警告は「はい」を選択)
→「Android Composite ADB Interface」がインストールされる


ドライバインストール後,
Eclipse の[Debug Configurations]で対象プロジェクトの[Taeget]タブから[Always prompt to pick device]に設定後に Debug,
[Choose a running Android device]のリストの中に使いたいデバイスがリストアップされていれば成功.

 

Windows8.1 でドライバーインストール時に

「指定されたカタログファイルにファイルのハッシュがありません」
などのエラーが起きてドライバーがインストールできない場合は以下の手順を実行する。

チャーム(Win+C)
→[設定]
→[PC 設定の変更](一番下の項目)
→[保守と管理]
→[回復]
→[PC の起動をカスタマイズする]の[再起動]を実行
→PC 再起動
→[トラブルシューティング]
→[詳細オプション]
→[スタートアップ設定]
→PC 再起動
→「ドライバー署名の強制を無効にする」を有効にするためキーボードの「7」キーを押す
Windows 起動後、上記「(4) ドライバのインストール」を実行する

MacintoshクライアントとWindowsファイルサーバーでSVN - file:編

MacintoshSVN(Subversion) で LAN 上のネットワークドライブのリポジトリを使う際のメモ。

----------
(1) SCPlugin のインストール

(1-1)
SCPlugin をダウンロードしてインストールする。

(1-2)
Finderの「アプリケーション」から SCToolbarButton を Finder のツールバー領域にドラッグ

----------
(2) ネットワークドライブのマウント

(2-1)
Finder のメニューの「移動」から「サーバーへ接続」を開く

(2-2)
「サーバーへ接続」ダイアログで、サーバーアドレスを入力し「接続」ボタンを押す
※ネットワークドライブが Windows の場合は、アドレスは『smb://サーバー名/フォルダ名/』のようになる

----------
(3) SVN チェックアウト

(3-1)
Finder でチェックアウトしたいフォルダを選択し、SCPlugin ツールバーボタンから Checkout

(3-2)
Subversion Checkout」ダイアログで、Repository URL を入力し、「Checkout」ボタンを押す
※ネットワークドライブが Windows の場合は、アドレスは『file:///Volumes/フォルダ名/...』のようになる

XCode も同様の設定で Subversion が利用できる。ルートの位置は project.pbxproj からの相対パスを設定

ただし、file: プロトコルは Samba 環境での利用は推奨されていません。コミットなどをする場合は別プロトコルを利用した方が良いです。file: はデザイナーなどにプログラムを配布する(Update のみを利用する)などの用途に限定したほうがいいです。

iOS 開発の XCode において、引っかかりやすいところ

(1) ビルドの設定が反映されない

プロジェクト(PROJECT)とターゲット(TARGET)では、ビルドの設定などが別になる。
プロジェクトの方の設定はターゲットの方に継承され、ターゲットの方で変更したものはターゲット設定の方が優先(上書き)されるようだ。
ビルド設定などがうまく反映されないときはターゲットに対するビルド設定を確認する必要がある。




(2) Archive Type が Mac App Archive になってしまう

Info.plist がバンドルリソースへコピーする設定になっている。
ターゲットの設定の、Build Phases → Copy Bundle Resources に Info.plist が含まれている場合は、このリストから外すように設定する。
やり方は、プロジェクトの Info.plist ファイルを選択し、右ペインなどにある Target Membership にある該当ターゲットへのチェックを外す。

チェックが入ったままでもデバッグでのビルドは実行できるが、2回に1回実行に失敗するという状況に陥る。




(3) Ad-Hoc 配信で「ダウンロードできません」になってしまう

【チェックポイント】

・Provisioning Profile に該当デバイスが含まれているか?
  iOS Provisioning Portal
  → Provisioning
  → Distribution タブ
  → 該当 Provisioning Profile の Edit
    ・Distribution Method は Ad Hoc になっているか?
    ・App ID は該当アプリのものか?
    ・Devices にインストールする該当デバイスは含まれているか?

・Archive ビルド時に Scheme ターゲットが iOS Device になっているか?
  ★Archive ビルド時は Mac につながっている全ての iOS を外す必要あり
   なんらかの iOS デバイスがつながっていると、そのデバイス専用のバイナリになるみたい…

・URL が合っているか?
  Organizer から Distribute するとき、Save for Enterprise Distribution を利用する場合…
  {例}http://zzzz.jp/abc.ipa をダウンロードさせたいとすると、
    ・Save As は abc
    ・Application URL: は http://zzzz.jp/abc.ipa
    として出力し、ダウンロード HTML のリンク部は
     <a href="itms-services://?action=download-manifest&url=http://zzzz.jp/abc..plist">ここからダウンロード</a>
    とする    

The Heart of SOURCERER 1 カスタムソース技 - 元素量等倍

ソウマの元素は地水火風空すべてを等倍に増減させれば効果は変わらない、という性質を利用して、寺院にある水の攻撃ソウマをアレンジ。 とりあえず元素量2倍バージョン。 JS:

// Flood Attack X2
function danerurosX2()
{
    var souma = new SourceMagic;
	souma.centering();
	while(souma.meditate() < 11000){}

	var elmdefa = ["aeth", "van", "fogo", "neru", "solo"];
	var clus = souma.belight(480, 480, 480, 480, 480);
	var telma = [480, 480, 912, 976, 480];

	var afu = souma.getFocusUnits();
	if(afu.length == 0)
	{
		var aau = souma.enumAroundUnits();
		for(var i = 0; i < aau.length; i++)
		{
			if(aau[i].isEnemy())
			{
				clus.setFocusUnit(aau[i]);
			}
		}
	}

	while(!clus.evokeOriginalElements()){}
	for(var i = 3; i >= 2; i--)
	{
		var elmdef = elmdefa[i];
		var telm = telma[i];
		var celm = clus.getElementQuantity(elmdefa[i]);
		do
		{
			celm += clus.evokeElement(elmdef, telm - celm);
		}
		while(celm < telm);
	}
	
	clus.materialize();
}

SS:

// Flood Attack X2
function danerurosX2 a o
la
	var souma as new Souma.
	souma n edradin a o.
	while a souma n ia a o lt 11000 o la lo

	var elmdefa as ka;aeth;, ;van;, ;fogo;, ;neru;, ;solo;ko.
	var clus as souma n enluc a 480, 480, 480, 480, 480 o.
	var telma as ka 480, 480, 912, 976, 480 ko.

	var afu as souma n getfocmono a o.
	if a afu n length eq 0 o
	la
		var aau as souma n enumosmono a o.
		for a var i as 0. i lt aau n length. i inc o
		la
			if a aau ka i ko n hagoth a o o
			la
				clus n setfocmono a aau ka i ko o.
			lo
		lo
	lo

	while a lonot clus n lamprimelm a o o la lo
	for a var i as 3. i ge 2. i dec o
	la
		var elmdef as elmdefa ka i ko.
		var telm as telma ka i ko.
		var celm as clus n getelmquat a elmdefa ka i ko o.
		do
		la
			celm addas clus n lamelm a elmdef, telm minus celm o.
		lo
		while a celm lt telm o.
	lo
	
	clus n materaizad a o.
lo

これを応用すれば、より強力な回復や攻撃が可能になって、強いボスも楽に倒せる。 同様に、x4 や x6 に元素量を増やせば更に強力になる。 ただし、元素量が多いと HP も多く消費するので、要注意。