2016年12月16日金曜日

MBP買いました。

何や時代は個人で記述する技術ブログが流行り気味な感じですね。
あんまりそういうの書いてない身からすると良いのか悪いのか。
まあ少し名ずつでも書いていくしかないのでしょうか。
ツーか、転職に有利になるのは本名公開系のみだと思われ、技術を公開するというよりも転職だの仲間内へのアピールだのが目的なんじゃないかと思われるのが多いので、イマイチな感じがしてならなかったりしますが。

ま、それはいいとして、MBP買いました。
TouchBar無しの特盛。
これで4年は戦う予定。予定は未定。

で、選択の際に色々考えたので、他の方がMBP、もしくはその他のPCを買う際の一助となれば幸いと、その時の考察を書いてみようかと思います。



今回の購入でまず考えたのは、このタイミングでのノートPCの購入は有りか無しか。
これはインテルさんのCPUの発表が遅れていて、2016年12月現在では多少古めのCPUが載った物しか発表されていないことによります。

年明けにはkabylakeが発表され、その後2017年末にはcannonlakeが発表される、という状況があったので、現時点の購入だとすぐに型落ちになる可能性がありました。

この点は、まずkabylakeが遅れていること、次にlpddr4はkabylakeでなくcannonlakeまで導入されないこと、そしてcannonlakeが載ったmbpはさらい年末近くになるだろうこと考えて無視することにしました。

MBP発表当初はcannonlakeが2017年中盤という予想もあったのですが年末までにこの予想が否定され2018年にスライド。この時点でappleの製品更新頻度を考えると2018年末が濃厚となり、更新対象のPC抱えて2年待つのはないとの判断に至りました。

これが来年末にcannonlake来るならlpddr4導入の効果の大きさを考えて待つのもありだったんですけどね。


で、次に考えるのがNew MacBookかMBPのどちらにするか。

これは案外決着が早く、少し調べたところ、NMBは熱ダレしてピーク性能続かないだろうこと、開発用途だとバッテリーが持たないだろうことが想定されたので、自分の仕事マシンとしての選択はないだろうなと。

基本まだまだターゲットマシンがWindowsであることは多く、VM立ち上げっぱなしで仕事するのが常ですし、Android、iOS共にエミュ動かす時はVM相当ですから、多分に重い処理となり、軽量マシンにはきつかったりします。

もちろん現行使ってるMBA2011よりは全然マシなんですが、買い直す際の8万ケチってあんまり使えないマシン買っても継続して使用できる期間が短くなるだけですから、ここはケチらず行ったほうが結果として得することでしょう。

ぶっちゃけ重さとか画面の大きさは大した違いがないので考えていません。
あーキーボードはものすごく大きな問題だったので、この点でもMBPだわなと結論出てました。


で、MBPにするのは決まったものの、最後に残るのがTouchBar有りか無しかという問題。

これが微妙に長く考えることになりました。

まず当初はTouchBar有りが展示現物なしでさわれないときてる。
なので、しゅういので導入された人のを少し触らせてもらう機会まで待ちました。
で、触った感じとしてですが、これは「まだ早い」でした。

ESC無しを騒いでいたのは主にソフトウェア開発者だったわけですが、ソフトウェア開発者が騒ぐということは、すなわちそれだけソフトウェア開発者にとってESCが重要だったということになります。

ソフトウェア開発者にとってESCが重要だということは、逆に言えばそれだけ多くの意味合いをESCが持っていた、もといESCが多くの意味合いを持つソフトウェアが多かった、ということになります。

意識するとわかる話ですが、キャンセルの意味合いはみんなESCが教えてくれた的に実はESCが持つ機能が多いんですよ。
Appleのソフトウェアだけ使ってる分には早々と解消されていくことでしょうが、例えばChrome何ぞ使ってたらパスワードの保存の問いからflashの動作キャンセルまで逐一マウスでノンノンしなきゃいけなくなりますから大分困ることでしょう。

ましてや開発用途で使うわけですから、コンソールでの操作において避けることのできないViはもう致命傷です。
Ctrl+[とか出来ますけど、ESCたんたんしながら考え事とかするわけであって、ショートカットしながら考え事なんてできません。

まあViはいいとしても、この辺りのソフトウェア側の爪が、まだまだ時間がかかるだろうという想定があったため、まだ早いとの結論に至りました。


あと、補足としてですがTB有りはバッテリー大分持ちません。そもそものバッテリー容量が違うところにTDP15Wと28Wの差があり、かつメモリクロック1866と2133の差から、TB無しのほうがバッテリー駆動時間3〜4割り増しの様です。

外での打ち合わせが続く場合、意外と電源なしで頑張らねばならない機会が多く、かつプレゼン用途で外部ディスプレイなんてこともありますが、そんな時でも安心してテザリングの携帯充電しながら使用できる様にと思うとTB有りはかなり辛いかと思われます。

スリットの有無や発熱量など考えても、TDP28Wやメモリバスオーバークロックの弊害は大分ある様なので、どやりマシンでもない限りは開発者の方にはTB無しをお勧めいたします。



Air待ちだった事もあり、Airの発表無しだったのは結構衝撃だったんですが、iFixitさんの分解記事なんぞをみるにAirの思想はTB無しに引き継がれたんだなというのも解り、その意味では順当な決定だったのかな何ぞとも思っております。


2016年7月6日水曜日

DPCMOSの画質向上について

DualPixelCMOSでもノイズのレベルが低い事についてイマイチ理解してなかったんですが、良く考えると当たり前でした、というお話。

画素が2倍になっているのでアンチエイリアスの様な事をしてると考えると、ノイズレベルが下がるのは理論的におかしく無かったんですよね。


まず、なぜ感度を上げるとノイズが出るのかという話ですが、まず信号のばらつきがあり、そこに感度向上による信号の増幅を行うから信号のばらつきの幅が増える事でノイズが出ます。

このため、各画素の信号のばらつきを少なくすればノイズも減るわけです。

画素数が少ない機種では各画素の受光面積が広く、1画素が受ける光子量が面積に応じて平均化されますからそもそものばらつきが少なくなるのでノイズが出にくくなります。

逆に、画素が小さいと光子量のばらつきがそのまま1画素の信号のばらつきに繋がりやすくノイズが目立つ結果になる、ということです。

次に、これを基本としてDPCMOSを考えます。

DPCMOSでは、今までの1画素が2画素となるため画素が小さく、信号にばらつきは出やすくなります。

画素の面積が半分になると同時に回路の面積が増えるために飽和しやすい、若しくは潰れやすいって事ですね。

ただし、DPCMOSでは2画素の信号に演算を行って1画素の結果を出しており、仮に片側の画素にばらつきが出て信号のレベルが上がってももう片側の画素との演算ですくい上げることができるため極端な信号のばらつきは切り捨てられる事になります。

このため最終的な出力では既存のセンサーよりノイズが乗りにくくなるわけです。

言うてみればハードウェアノイズキャンセルしてるって事ですね。

これが正しいとすれば、まあ確かに綺麗になるよね、と。
出力の各画素ではノイズキャンセルやってるわけじゃないというのも真。


まあ最終的な出力が綺麗ならハードウェアノイズキャンセルも悪いわけではないとのスタンスなのですが、カメラオタクの方々はハードウェアノイズキャンセル嫌いな方が多いので、そう考えるとこれはどうなんだろねとも思うのですが。

その分、信号のレベルが下がる事をカバーするためにAD変換なんかの精度は上がっていると思われますので、とんとん、という事じゃないかと。