フォト

Google AdSense

  • AdSense
無料ブログはココログ

2017.08.09

GPD Pocket使ってみて





最近は、日本のAmazonでも6万円台(クラウドファウンディングの早期じゃない価格が$499なので、そんなにレートは悪くない?)でGPD Pocketがすぐに送られるという状態のものが増えてきたわけですが、入手して結構立ってきたので感想書いておきます。

■前提となる話

GPD Pocketを買うまではカンファレンスのメモ端末としてはiPad Pro 9.7もしくはSurface 3を使っていました。

カンファレンスのメモ端末は、バッテリーの駆動時間がながく(モバイルバッテリーで充電ができる)、軽量でキーボードが物理的に確保されていて、ひざ上に乗せてタイピングができて、通信ができることですね。このうち通信はテザリングとかあるのでプライオリティはちょいと低いですね。

軽さ、薄さ、動作の快適さではiPad Pro 9.7が便利な感じですね。どちらもSIMがささるので通信環境は変わらない(ただし、海外はApple SIM内蔵のiPadの方が便利)し、1日のカンファレンスであればバッテリーの差はあまりないですね。

■端末のサイズ
端末のサイズ、重量ではGPD Pocketがぶっちぎりにいいですね。

正直、iPad Pro 9.7の時点であまり不満がなかったのです。自分の持ってるバッグでもこれ以上小さくする必要もなかったので。

ただ、Surface 3との比較としてはいいですね。

■入力、「キーボード
GPD PocketはタッチパネルとLenovoとかにあるようなポインタがあるんですが、自分はタッチパネルがあればOKですね。

キーボードは結構クセがあると思ってたんですが、確かにクセがありますねぇ。まだ慣れてないです。

キーピッチが狭い部分と英字キーボード(これは英字の方が好きな人は問題ないと思います)が問題になるかと思いましたが、":"(コロン)とか";"(セミコロン)がちょっとイレギュラーな位置にあるので、これらを使うプログラミング言語での開発では苦労するかも。

■画面サイズ

これはWindowsが悪い気がしますが、情報量は解像度の差もあってiPad Pro 9.7の方が快適ではありますね。

■プログラミング

iPad Pro 9.7ではなくこちらメインで持ち歩くようになったのはやっぱりVisual Studioが動くところですね。

Visual Studioはフルでなく、Visual Studio Codeでも良いかもしれませんね。

あと速度は遅いですが、GPUはDX12は一応動きます。

バッテリー駆動でデバッグビルドのMiniEngineが5 fpsという感じですね。




■ソフトウェア

あとは、Officeがまるまる動くのはよいですね。PowerPointのプレゼンテーションはそのまま行くので。

そういや、自分は下記のようなUSB Type-Cハブを買っておきました。HDMI出力ができるようにしました。まぁ、ディスプレイ出力はmicro HDMIがもともとあるのでそれを変換でもいいのでしょうが。



■通信
iPad Pro 9.7やSurface 3ではSIMがささって便利だったんですが、ないのは少し不便ですが、まぁテザリングですかね。

逆に海外ではSIMで通信しなかったりするので困らなさそうではあります。

■ストレージ
ひとまず128GBは合格だと思いますが、microSDスロット欲しかったですね。

ソースコードとかそっち置きたくなるので。

■バッテリー
まだあんまり検証できていません。

おそらくCEDECで1日カンファレンスどれだけ保つかわかりそうです。

ちなみに、わりとほかの方がレビューやTips書いてますが、スリープの挙動は賢くないです。Surface 3はよく電源管理しっかりしてたんで、OSというよりはハードの問題なんですかね?割と毎回切ってます。

■ケース
ケースは結局下記のを買いました。すぐに出し入れできてスリムなのが理由ですね。



■総評

今のところ購入してよかったとは思いますが、CEDECで持参してみてというところですね。

あとは、とにかく外出時のプログラミング用途とかプレゼンマシンとしての活用ですよね。、結局のところプログラミングしないならiPad Pro 9.7で問題ないわけだったので。

MicrosoftのDX12サンプルなどのHDR10動作について~PBRサンプルをHDR10出力にする

HDR Lighting and Displays
https://blogs.msdn.microsoft.com/chuckw/2017/08/08/hdr-lighting-and-displays/

上記記事を読んでいたんですが、結構MicrosoftのサンプルがHDR10対応してたんですね。まぁ、Xbox One Sとかは結構早くからしてましたからねぇ。

とりあえず、いろいろと試し足りコードを見てみましたがDirectXTK12のToneMap.fxにはちゃんと変換のシェーダが入っていますね。

https://github.com/Microsoft/Xbox-ATG-Samples/blob/master/Kits/DirectXTK12/Src/Shaders/ToneMap.fx

では、SimplePBR12で動かしてみようと試みてみました。

変更箇所は、SimplePBRUWP12.cppの21行目のm_deviceResources の初期化箇所ですね。

https://github.com/Microsoft/Xbox-ATG-Samples/blob/master/UWPSamples/Graphics/SimplePBR12/UWP/SimplePBRUWP12.cpp

一番最初の記事に戻りますが、DeviceResourcesクラスが対応ということなので見てみましたが、

m_deviceResources = std::make_unique(GetBackBufferFormat(), GetDepthFormat());

とあるコードを以下のように初期化すれば良いようです。最後の引数がポイントですね(それ以外はデフォルトの引数のまま)。これで内部でHDR10で動かす初期化コードが走ります。内部でディスプレイやGPUのサポートをチェックしてるので、このコードにしてもsRGB環境でクラッシュなどはないです。

m_deviceResources = std::make_unique(GetBackBufferFormat(), GetDepthFormat(), 2, D3D_FEATURE_LEVEL_11_0, DX::DeviceResources::c_EnableHDR);

これで無事に動作しました。グラフィックス診断でもTonemapのシェーダが呼ばれておりました。これは下記のコードの223行目のPIXBeginEvent(commandList, PIX_COLOR_DEFAULT, L"Tonemap HDR to SDR backbuffer");あたりのところですね。

https://github.com/Microsoft/Xbox-ATG-Samples/blob/master/UWPSamples/Graphics/SimplePBR12/Shared/SharedSimplePBR.cpp

2017.08.08

Open Problems in Real-Time Renderingのコース資料

Open Problems in Real-Time Renderingのコース資料が徐々に公開されていますが、これも見ておかないとなぁ。

Open Problems in Real-Time Rendering
http://openproblems.realtimerendering.com/s2017/index.html

"Real-Time Rendering"ということで、ゲームやゲームエンジンの開発にかかわるような人が抱える問題や課題、将来予測などが集まってていいですね。

・Physically-Based Materials: Where Are We? by Sébastien Lagarde (Unity Technologies)
・A Certain Slant of Light: Past, Present and Future Challenges of Global Illumination in Games by Colin Barré-Brisebois (Electronic Arts SEED)
・Future Directions for Compute-for-Graphics by Andrew Lauritzen (Electronic Arts SEED)
・Deep Learning: The Future of Real-Time Rendering? by Marco Salvi (NVIDIA)

特に今回はPBR、 GI、 Compute、 Deep Learningの活用ということがトピックでしょうか。

夏風邪

先週の木曜日から夏風邪をひいて昨日まで寝込んでいたのですが、ようやく出社できるように。

SIGGRAPH後に出てきた資料とかのチェックも遅れてしまったなぁ。

«SIGGRAPH 2017よりImproved Culling for Tiled and Clustered Rendering in Call of Duty: Infinite Warfare