Panasonic DIGA DMR-BRX2050

2012年に購入した、ソニーのBDレコーダー「BDZ-AT970T」の調子が悪くなってきて、ハードリセットしないとメニューを開けない状態に。6年も稼働させてたら壊れても仕方が無いかなと思い、代替機としてパナの「DMR-BRX2050」を購入。いわゆる「全自動DIGA」というやつの、廉価モデルです。

最近は予約録画をする習慣すら無くなるほど、テレビは観なくなったのですが、放送翌日にSNSとかで話題に挙がった番組を観たかったなーと思うことは多いので、全チャンネル録画ができるほうがいいかも?と3分程悩んで、この機種に決定。最近のレコーダー事情には疎いのですが、ソニーには全録できるモデルが無いようなので、早々に候補から外れました。

「ほぼ全自動DIGA」を目指す


パナの上位機種は11チューナー、7TBというスペックで本当の意味で「全自動DIGA」ですが、廉価モデルは7チューナー、2TBと、やや役者不足感が。とはいえ、4Kチューナー無しのレコーダーに16万も出すつもりはないので、4TBの外付HDDを追加し、全録用(チャンネル録画用)の容量を底上げして「ほぼ全自動DIGA」くらいにする算段です。

外付HDDには4チャンネル分を割り当てられるので、内蔵HDDに2チャンネル分、外付HDDに4チャンネル分を割り当て、全ての番組を4倍録(HE)で録画したとして約9日分、これを設定で2〜3週間分にしたいところ。

チャンネル録画設定でハマる


全録の設定は以下のようにしました。
種別チャンネル録画モード録画先
チャンネル1日テレ4倍録USB-HDD
チャンネル2TBS4倍録USB-HDD
チャンネル3テレ朝4倍録USB-HDD
チャンネル4フジ4倍録USB-HDD
追加チャンネル1NHK4倍録HDD
追加チャンネル2テレ東4倍録HDD
加えて録画時間帯を「6:00〜12:00」、「18:00〜3:00」にして、ニュース、ワイドショー、バラエティー、ドキュメンタリー、趣味・教育、福祉のジャンルは15倍録に設定して、目安となる録画機関は17〜23日くらいでした。

6チューナーのうち、追加チャンネル分の2チャンネルは使用すると、いろいろと制限がかかります。
  1. BD再生やNetflixを視聴すると追加チャンネルの録画が停止する
  2. 「どこでもDIGA」やDTCP-IP対応アプリを使ってネットワーク経由で視聴したい場合は、本体の電源をOFF(リアルタイムで番組を視聴していない状態)にする必要がある
  3. 追加チャンネルの録画先は内蔵HDDのみ

と、割と厳しい制限なのですが、とりあえずNasneでこのあたりはカバーできそうなので、しばらくは6チャンネル録画で運用してみるつもりです。

で、最初のセットアップが終わった後に、何故か追加チャンネルの2チャンネル分が録画されず、「放送を受信できません」という警告が出ていました。B-CASカードを変えたり、ハードリセットをしたりしても改善されず、一度、追加チャンネル設定を全削除して、再度設定すると、録画されるようになりました。

使い勝手


・番組表が割と酷いレイアウト(バナーとプレビューが邪魔。番組表の表示中は音声だけでいいのに)
・テレビがRAGZAだとHDMI CECが一部機能しない(電源OFFのほうは連動するが電源ONが連動しない)
・リモコンの音量ボタンが押しにくい(配置が上すぎ)

DIGAを初めて使うので慣れもあるんでしょうが、これまで避けてきたメーカーだけあって、UIの文化的に好きになれそうにありません…。

とりあえず、1週間くらい録画させてから、改めていろいろいじってみます。

LG Ultra HD 43UD79T

かねてから購入しようと思っていた4Kモニターは、ほぼDELLの43インチに決定していたのですが、たまたまAmazonのタイムセールでLGの43インチモニターを見かけたので購入してしまいました。55,000円也。

40インチオーバーの4Kモニターはピンキリで、サイズが大きくなると消費電力が倍くらいになるものもあるので、PCモニターとして使うなら43インチくらいが限界な気もします(大分前に使っていたDELLの27インチは夏場に、のぼせるほど熱くなって大変でした)。

以前使っていたEIZO EV2736W(27インチ2560x1440)のドットピッチが0.233mm、ASUS VG248QE(24インチ1920x1080)が0.276mm。今回のLG 43UD79Tのドットピッチは0.245mmと、ほぼ同じなので文字が小さくて見にくいといった問題は無し。

いままで使っていた3台のモニタは撤去して、空いたエルゴトロンのモニターアームに「エルゴトロン VESA Bracket Adaptor Kit 97-759」を取り付けてマウントしました。LG 43UD79TはVESA 200x200なのですが、このブラケットはモニターアーム側のVESA 100x100をVESA 200x100〜400x400に変換できます。

大抵のモニターはVESAマウント部分がカバーで覆われているのですが、LGのこのモニターは開梱後にVESAマウントのカバーを取り付けるようになっているので、取り外す手間が省けてイイ。

背面端子はHDMI 1.4が2系統、HDMI 2.0が2系統、DPが1系統、USB Type-C(アップストリーム)が1系統、USB 3.0(ダウンストリーム)が2系統、ヘッドフォン端子、RS-232Cとなっています。RS-232Cは保守用に付いているらしいですが、ボリュームや電源の制御もできるようです。

デスクトップが広くなったのは大変うれしいのですが、4Kの映像が綺麗かといわれると、それほどでも無く、ソースがFull HDだと若干ボケて見えるなーくらいの感想。とはいえ、折角なので、いつもブラウザで観ていたNETFLIXはアプリ版に移行して4Kで視聴しようかと思います(たしかMicrosoft StoreにあるNETFLIXアプリだと4K再生ができたはず)。


Dell Visor (Windows MR)



先日、Vive Proが発売されましたが、Dell Visorを購入しました。

6年くらいまえに、ソニーのヘッドマウントディスプレイHMZ-T1を購入して、3回しか被らなかった経験から、HMDの購入には慎重になっていて、いろいろ考えていくうちに、Windows MRに絞られました。

Windows MR
・パネルはIPS 1440x1440が2枚(2880x1440)
・PCの性能により、視野角が水平95度、105度と変化する
・少しだけお安い

SteamVRのパフォーマンステストはこんな感じ。


外部センサーが無いので、繋ぐだけで設定は終わってしまうのですが、MRコントローラーの設定でだいぶ時間がかかりました。



2つのMRコントローラーをBluetoothでペアリングしてもMixed Realityポータルで「追跡できなくなりました」と表示されたり、そもそもMRコントローラーをMRポータルで認識してくれず、VR空間にもコントローラーが表示されない状態。Bluetoothデバイスの解除とペアリングを何回か繰り返しているうちに、2つとも認識されるようになりました。

ヘッドセットの装着感は良好で、眼鏡をしていても圧迫感は無いのですが、バイザーを跳ね上げるときに、眼鏡も一緒に跳ね上がってしまうので、バイザーの上げ下げの時にヘッドセットを少しずらす必要があります。

近いうちにマルチモニタをやめて4Kモニタ1台だけにするつもりなんですが、仕事でウィンドウをたくさん開いて作業しなければならないときに、Steamで購入したVirtual Desktop(VR HMDにデスクトップ環境を表示するアプリ)で作業できないかなーと思っております。

Craft CMSのcraft.entries.searchは安易に使ってはいけない話

以前のエントリーで、タグ検索は
$criteria          = craft()->elements->getCriteria(ElementType::Entry);
$criteria->section = "sampleSection";
$criteria->search = "sampleTags:test";
$entries = $criteria->find();

こう書くよ、と記載したのですが、エントリー数が数万〜数十万になると、とっても遅いのでした。

searchを使った場合、craft_searchindexテーブルが参照されるのですが、検索対象のIDが列挙されるので
SELECT * FROM craft_searchindex WHERE elementId IN (1,2,3,4,5,6,7,8 ...)

のように、WHERE IN句に、数万のIDが列挙されたりします。結果、生成されたSQLをMySQL Workbenchに貼り付けると、アプリが落ちるほど巨大なクエリーになります。

なので、正しいクエリー方法は以下のようになります。
$criteria = craft()->elements->getCriteria(ElementType::Tag);
$criteria->groupId = craft()->tags->getTagGroupByHandle('sampleGroup')->id;
$criteria->title = 'test';
$tags = $criteria->find();

$criteria = craft()->elements->getCriteria(ElementType::Entry);
$criteria->section = "sampleSection";
$criteria->relatedTo = ['targetElement' => $tags, 'field' => 'sampleTags'],
$entries = $criteria->find();

relatedToを使用した場合、craft_relationsテーブルを参照した割と普通なクエリーになります。

エントリー数が20万ほどある状況だと、searchを使ったタグ検索は4秒、relatedToを使ったタグ検索は0.1秒以下でした。なので、searchはエントリー総数が少ないセクションに限定して使わないとダメそうです。

【追記】
Twigで記述する場合に
{% set entries = craft.entries.section('sampleSection').relatedTo(tags) %}

のような書き方が普通みたいな感じになっていますが、エントリー数が多い場合は、これも遅いです。
fieldを指定したほうが、場合によっては数百倍速いので、ちゃんと指定しましょう。
{% set entries = craft.entries.section('sampleSection').relatedTo({'targetElement':tags, 'field':'sampleTags'}) %}

最近プレイしたゲーム(1〜3月)


Far Cry 5


リリースされたばかりで、少ししかプレイしていませんが、今作のプレイヤーは警官で、カルト教団と対峙するストーリーのようです。

モンスターハンター:ワールド


現在、ハンターランク95。武器は弓とランスのみ。今作からR2でタメ動作に入るようになったので、移動しながらカメラ操作するためにモンハン持ちをしなくていいという、極々普通のことに感動します。

Kenshi


RPG+RTS。アーリーアクセスな事もあり、チュートリアルがわかりにくかったりして、最初は何をしていいのか、まったくわかりません。そんな中、やりたいことを見つけても、今度は操作方法がわからないという…。Wikiや動画を見て、基本的な操作方法がわかると楽しいです。

RimWorld


コロニーシム。見た目がPrison Architectに似ているので、同じ開発元かと思ったら全然違いました(作者はPAのアーティストと繋がりがあるようです)。プレイヤーは入植者のタスクとシフトを組んで、ただ眺めているだけのゲームですが、ハマる人はかなりハマると思います。放火魔は即追放です。

Surviving Mars


コロニーシム。開発元はトロピコシリーズで有名。ドローンを使って火星に入植する準備をするところから始まり、ドームを建設して人間を招致するのが目標。

施設がすぐ壊れる>修理で資材を消費・枯渇>資材の生産には人間が必要>生産量を上げるには入植者を増やすしか無い>増えた人口を支えるために更に大量の施設が必要>最初に戻る

という修理ゲーなので、負のスパイラルの中、なんとかマイルストーンを達成していくゲームです。需要と供給のバランスが取れて安定することなんて無いです。人間の居ない火星は平和なんです。

Besiege


破壊マシンシム? 与えられたお題(破壊活動)を達成するためだけの専用マシンを建設して、ターゲットをぶっ壊すとステージクリアというパズルゲーム。割とちゃんとした物理演算があるので、法則を無視したマシンは機能しないし、汎用マシンを1つ作ったら終わりではなく、いくつかのベースマシンを設計しておいて、各ステージ毎に改良しないとクリアできなかったりして楽しいです。

Undertale


名作と言われているUndertaleですが、ずっときっかけが無くて、ようやくプレイ。Steamのレビューで「レビューを読んでる暇があるならプレイしろ」みたいなコメントがあったんですが、そのとおりだなと思います。


BGMもかなり良くて、中でもLast Goodbyeがお気に入り。