開発環境をゲーミングノートLenovo Y740に移行した

f:id:amagitakayosi:20200305100719j:plain

CG開発や映像制作用にNVIDIA GPUの載ったノートPCを漁っていた所、Lenovo Y740 15inchが良さそうだったので購入した。 日本だとあんまり情報みないけど、今のところ満足してるのでレビューを書いてみる。

https://www.lenovo.com/jp/ja/notebooks/legion-laptops/legion-y-series/Lenovo-Legion-Y740-15/p/88GMY701059

スペック

  • 購入価格: 202,701円(セール価格)
  • CPU: Core i7-9750H 2.60GHz
  • GPU: NVIDIA GeForce RTX 2070 Max-Q 8GB
  • モリー: 16GB DDR4
  • ストレージ: 512GB SSD + 1TB HDD 7200rpm
  • 液晶: 15.6inch FHD IPS ノングレア

同じ「Y740」という名前でも、15インチの製品と17インチの製品があるので注意。

良い所

とにかく安い

RTX2070 Max-Q載ってて20万は安い。 なんとRTX2080でも24万くらいで買えます。 価格帯はALIENWAREと同じくらいか、ちょっと安い? 僕はALIENWAREと迷ってこっちにしました。Razer Bladeは日本のストアだと無駄に高いので諦めた泣

ゲーミングノートにしては大人しいデザイン

f:id:amagitakayosi:20200305100719j:plain

見ての通り、ゲーミングノートとしては割とデザインが控えめです。 ゲーミングPCは大抵デザインが派手過ぎて、外で使うのが恥ずかしいんですよね……ALIENWAREとか。

しかし!キーボードやファンの排気口、天板のロゴは設定次第でビカビカ光らせる事もできるので、DJやVJ用途で使うときはガンガン光らせましょう。

主要ポートが背面にある

f:id:amagitakayosi:20200306143222j:plain

電源やHDMI, LANポートなどはボディ背面にある。 この手のPCでよくある、マウスやMIDIコンを置くときにHDMIケーブルが邪魔、という事がなくてスッキリ。 ただ、デスクの奥行きが狭いとモニターのスタンドにぶつかったりして邪魔かも。

作りがしっかりしてる

天板はアルミ、ボディはプラスチックだけど、全体的にカッチリ作られている。ヒンジも固いし。 会社で使ってるMSI GS65は、モノは良いんだけど作りがショボくて耐久性が不安だったんだよな~。(実際一度ファンが壊れて修理した

トラックパッドとボタンが独立

f:id:amagitakayosi:20200306143209j:plain

トラックパッドはパッドを押し込んでクリックする奴じゃなくて、ボタンが独立してるタイプです。 ボタンの押し心地はマウスというより、キーボードのキーみたいな、グッと押し込む感じ。

WindowsPCのトラックパッド、だいたい感度も悪いし作りがショボくていつ壊れるかヒヤヒヤするので、いっそボタン独立のほうがいいんですよね。 ただ、トラックパッドはすこし小さいので困る人もいるかも(僕は全く困らない

注意点

アダプターがめちゃくちゃデカいし重い

f:id:amagitakayosi:20200305115645j:plain

アダプターでかすぎる!!!!!しかも1kgある!!

まあ仕事用なんで僕的には問題ないです。 あ、でもなんか電源つかないと思ったらアダプターの重みで勝手にケーブル抜けてる事があったりしてちょっと困る。

バッテリーが全然持たない

Unityで軽めのプロジェクトの開発してて2時間ちょい持ちました。 ヘビーな作業してると1時間持たないんじゃないかな。外で作業するときにちょっと困る。

あと、デフォルトでNVIDIA Optimusが無効になってるので、バッテリーを持たせたい人は有効にしましょう。プリインストールされているLenovo Vantageというアプリで「Hybrid Mode」を有効にすると良いです。 ただ、Optimusを有効にするとG-Sync (画面のチラツキ防止技術) が無効になってしまうので、ゲームをやる人は困るかも。

Webカメラが位置、画質ともに最悪

Webカメラが何故か液晶の下についてます アホ?

f:id:amagitakayosi:20200306174003p:plain
タイピングしてると手がメッチャ邪魔

画質も悪いですね。 いま絶賛リモートワーク中の皆様は外付けWebカメラ買いましょう。

Intel QSVが使えない?

www.youtube.com

購入前に↑の動画を見て、Intel QSV (ハードウェアエンコーダー)が使えないのかな?と思っていたんですが、どうやら僕の手元では普通に動いてます。 ファームウェアアップデートかなんかで修正されたのかな。 Adobe Media Encoderでも普通にHardware Encodeできるし、HandbrakeではQSVもNVEncも普通に使えました。

www.youtube.com

試しにYoutubeから↑の動画をダウンロードしてH.264エンコードした時の処理時間を測ってみました。

  • Adobe Media Encoder
    • Hardware: 42秒
    • Software 62秒
  • Handbrake
    • x264: 54秒 (~110fps)
    • QSV: 18秒 (~330fps)
    • NVEnc: 20秒 (~300fps)

OSは英語版、キーボードは英字配列のみ

OSはWIndows10 Home/Proの英語版から選べます。 気になる人は購入後に言語設定を日本語にすれば良いでしょう。

キー配列は英字(US)配列のみです。慣れましょう。 僕は英字配列派なので助かった……! ゲーミングノート、日本だと英字配列の製品は全然売ってないんだよね。

あ、ただキーボードの一番左の列にマクロキーとかLenovoの設定アプリを起動するためのキーがあって、Escを押そうとしたら設定アプリが開く事があってちょっと困った。 こちらはChgKeyでEscを割り当てることで解決しました。

Lenovo

最近のLenovoは知らんけど、どうしてもLenovoといえばSuperfishのイメージがある

開発環境構築メモ

以下、個人用メモ。

初期設定

  • 初回起動時にEdgeが開くのでGoogle Chromeをインストール
  • Lhaplusをインストール
  • Lhaplus等の文字化け防止のため、ロケールを日本に変更
    • Control Panel > Clock and Region > Region > Administrative > Change system localeでJapaneseを選択
  • キー設定

Cmderの設定

  • いつも通りここに従ってCmder, oh-my-poshをインストール
  • どっかのタイミングでGitが古くなってしまったのでアップデートする
  • Chocolateyでsudoを入れておくと sudo cinst foo -y とか出来てメッチャ楽

各種アプリ入れる

Chocolatey使ったりマウスでポチポチしたりしてインストールします

Docker

購入時のカスタマイズでWindows10 Homeを選択したんだけど、Docker Desktop for WindowsはProじゃないと動かなかった……。ミスったな~。 Windows10 HomeでDockerを動かす方法は以下の2通りがメジャーなようだ。

  1. Docker Toolboxを使う (VirtualBox上のVM経由でDockerを動かす)
  2. WSL上のUbuntuでDockerを動かす
  3. Windows Insider Previewを有効にして、Dockder DesktopをWSL2で動かす

今回はDocker Toolboxを使うことにした。 トラブル多発するようだったら大人しくProにアップグレードしてDocker Desktop for Windows使います。それかWSL2の正式リリースを待つか。

OSSのJSONエディタをElectronアプリに移植した

josdejong氏作のJSONエディタを、Electronでデスクトップ用アプリに移植しました。

f:id:amagitakayosi:20200201011014p:plain

github.com

元のJSONエディタはこちら。めちゃ高機能で便利。
僕が書いたコードはたった200行くらいです。

github.com

なぜ作った

  • 仕事でイベント用のUnityアプリを作る事が多い
  • 現場でパラメータを調整するために、パラメータをJSONCSVファイルに出しておくことが多い
    • SRDebuggerとかでアプリ内に設定画面を作る事も多いけど、その時間すらない事もある
  • プログラマー的にはJSONを使いたい
    • プログラマー以外の普通の人にとっては、JSONの編集は難しい
    • CSVはエクセルで編集できて便利という世界観
  • 普通の人が使えるJSONエディタがほしい
    • オンラインJSONエディタは良い奴がたくさんある
    • exeで欲しいんだが!!!
    • Electronでラップしたら良いのでは?
  • Electron最近触ってないし、勉強がてら作ってみるか〜〜
    • できた

インストール方法

最新のリリースページからzipファイルをダウンロードしてください。 zipファイルを解凍するとアプリ本体が出てくるので、適当な場所に保存すればインストール完了です。

https://github.com/fand/json-editor-app/releases/latest

Macの場合は「開発元が未確認のため開けません」と表示されてしまうので、初回の起動時は以下の手順で起動してください。

  • アプリを右クリックしてメニューを表示し、「開く」をクリック
  • 確認ウィンドウが表示されるので、もう一度「開く」をクリック
  • 起動成功!

2回目以降は普通にダブルクリックで起動できます。 詳しい解説はこちら: https://nori510.com/archives/14288

.json ファイルとの関連付け

JSONファイルを開く際に、JSON Editorで開くようにしておくと便利です。

Windows

  • エクスプローラーで適当なJSONファイルを右クリックし、「プログラムから開く」をクリック
  • 「常にこのアプリを使ってファイルを開く」にチェックを入れる
  • 「このPCで別のアプリを探す」をクリック
  • JSON Editor.exe を選択
  • 完了

Mac

  • Finderで適当なJSONファイルを右クリックし、「情報を見る」をクリック
  • 「このアプリケーションで開く」をクリックし、「その他」を選択
  • JSON Editor を選択
  • 「このアプリケーションで開く」の下の「すべてを変更」ボタンをクリック
  • 完了

使い方

適当にボタンを押してみてくれ

しくみ

  • Electronでラップしてるだけで
  • electron-forgeを使った
    • TypeScriptでElectronアプリの雛形を作ってくれて便利
    • アプリのパッケージングとかAuto updateとかも面倒みてくれる
    • とはいえ、ハマりどころも色々あった
      • 素直にelectron-builder使った方が楽かもしれん
  • 今回はAuto updateには対応していない
    • Code signing周りが面倒なので……
  • josdejong/jsoneditorが管理してるDOMに無理やりボタンを挿入してたり、実装がメッチャ雑
    • 僕はちょっとしかコード書いてないしまあエエやろ……
    • 元のライブラリがまあまあ枯れてるので、そこまでメンテしなくても動くはず

たぶん便利なので良ければ使ってみてください🙏