はじめに
この記事は「リアズ Advent Calendar 2021」の22日目の記事です。
皆さんご無沙汰しています。リアズフロントエンジニアのよしだです。
昨年の記事からもう丸々1年が経過してしまいました。
昨年に続き、今回もこの1年の中で印象に残った事をお話ししようかなと思います。
問題の発生
・弊社では現在、声に主体を置いたライブチャットとして「[萌えチャット]
(https://reas.jp/service/moechat/)」
と言うサービスを展開しています。
昨年12月末のフラッシュサービスの終了に伴い、本サービスもHTML配信に対応するように変更を行いました。しかし、サービスをHTML版に切り替えて間も無く、とある問題が発生しました。
会員側で表示される映像が真っ白の表示になり何も表示されなかったのです。
写真は当時を再現したイメージですが、このような状況になってしまいました。
原因を探るとどうやらChromeの機能にあるハードウェアアクセラレーション(以下HWA)をONにした場合に発生する現象だと言うことが判明しました。一旦お客様にはHWAをONにしないように通知しました。
ハードウェアアクセラレーションとは
CPUで処理をしている映像や画像の描写処理を、GPUに担当してもらい処理をしてもらうと言うシステムになります。
ハードウェアアクセラレーション
CPUにかかってた負荷が軽減されるので一見いい機能に見えます。しかし、ハードウェアアクセラレーションについて検索すると「GPU未搭載のパソコンでHWAをオンにすると不具合が起きる」と言う記事も見受けられました。ところが、不具合が起きるとだけ書かれていて具体的な原因まで記載された記事はありませんでした。
そこで本件に関してとある仮説が浮かびました。それは、
『CPU内臓グラフィックを持つパソコンでHWAを実行した場合、内臓グラフィックに負荷がかかるので余計にCPUの処理が重くなってしまうのではないか』と言うものです。
原因の調査
・HWAが原因であることは判明しました。
そこでハードウェアアクセラレーションをONの状態とOFFの状態とでPCのパフォーマンスに変化はないかチェックをしてみました。
■調査に用いた機器
調査用PC : MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports
→CPU : Intel Core i5-8257U
→GPU : Intel Iris Plus Graphics 645
■調査内容
・HWAをONの状態とOFFの状態それぞれで萌えチャットの配信を30分間行なう
■調査結果
・HWAOFF → 平均CPU使用率20%、GPU使用率10%位
・HWAON → 平均CPU使用率20%、GPU使用率10%位
……、あれ?何故かHWAをONにしても問題なく配信ができてしまっている。
今年の10月位まではHWAをONにすると上記のような真っ白い表示になったのですが。。。
結局2021年12月現在ではHWAをONにしても配信が真っ白な表示になることなく正常に配信できているみたいでした。
Chromeのリリースノートも見てみましたが、特にHWAの不具合修正の記事は見当たりませんでした。
終わりに
なぜHWAが絡んでていたのか分からずじまいでしたが個人的に調査のアプローチは良かったように思いました。
Chromeの機能の問題なのでフロントエンド側でどうすることもできないこともあると思いますが、まずは不具合の原因を突き止めることが大事なのだなと思いました。