Pixel7での不具合を修正!
こんばんは、dobuです!
珍しく連続での記事更新です!
前回の記事でお知らせしたPixel7で発生している不具合ですが、解決のめどが立ちました!
せっかくなので解決までの流れを順を追って話していきます!
Pixel7を確保
そもそもPixel7でしか発生していない不具合だったため、どうやって検証するのかがまず問題でした…
Pixel7を買うという手もあったのですが、最近たまたま近いクラスのスマホに買い替えていたこともあり、さすがにこのためだけに更にスマホを購入するのはつらい…!
そう思って色々調べたところ、ありました! アプリ開発の検証などのために各種スマートフォンを貸し出してもらえるサービス!
基本的には法人向けのサービスが殆どなのですが、個人でも利用できるところがあったので、さっそく使わせて頂きました。
実機があれば解決までそれほど時間はかからない思ったのですが、日数を増やしても基本料金からそれほど上がらないこともあり、余裕をもって10日間のレンタルです。
これで不具合検証の準備が出来ました!
不具合の状況
こちらがPixel7で発生していた不具合です!
グチャグチャですね…
実はこれ、以前PC版でAMDのGPUで発生していた不具合と同じものです。
その時はグラフィックスAPIの変更で解決したのですが、根本解決はしていなかったのでPixel7で再び発生したようです。
今回は手元に検証用の端末があることもあり、じっくり検証出来ました。
この黒いノイズですが、キャラクターが表示された時だけ発生するため、キャラクターモデルに原因があることが分かります。
また、ノイズがキャラクターの一部のパーツにまとわりつくように表示されていることからも、一部のパーツのポリゴンの表示に不具合があるらしいということは分かっていました。
そこで、立ち絵、ベッド、椅子のそれぞれのシーンで、キャラクターモデルのパーツを一つ一つ表示、非表示を切り替えることでどのパーツが原因なのか探っていきます。
その結果、いくつかのパーツを消すことでノイズも消えることが分かりました。後はそれらの共通点を探すだけです。
共通していたのは、パーツの一部のポリゴンを消すために「透明な素材」を割り当てていたこと。
透明な素材の「何も描画しない」という命令を受け取ると、一部のGPUはランダムな初期位置に点を描画してしまう不具合があったようです。
透明部分の素材を差し替えたことで、問題は解決しました!
なんということでしょう!あれほど散らかっていた画面がこんなにすっきり!
10日間も借りていたのに初日で解決…
今後について
おそらく問題は解決したと思われますが、動作確認の報告をもう少し広く集めたいと思います。
修正後の体験版をアップしましたので、Pixel7をお使いの方がいましたら是非動作報告をお願いします!
また、MediaTek製CPUをお使いの方の報告もお待ちしています!
HypnoApp_1.2.0_freedemo.apk (391.10MB)
Downloadある程度動作確認が取れましたら、製品版の方もアップデートしていく予定です。
MediaTek製のCPUについて
ここまではPixel7についてですが、MediaTek製のCPUを搭載したスマートフォンの一部でも同様の問題が発生しているという報告がありました。
なぜ一部かというと、MediaTekCPUの検証のために手元に持っているスマートフォンでは発生していないんですよね、この問題…
これが以前(主に)MediaTekCPUの検証のために買った「Ulefone Armor 12 5G」です。
MediaTek Dimensity 700を搭載した、中華製のタフネススマホです。
カッコいいですね。
このUlefone Armor 12では、修正前のバージョンでもノイズの不具合は起きてないんですよね…
過去には発生したこともあったのですが、現在は起きていないのでおそらく端末のシステムアップデートで直ったのだと思います。
もちろん、Pixel7向けの不具合修正を行った後の現在のバージョンでもノイズ発生していません。
なので、今回のPixel7向けの修正でMediaTekCPU搭載スマホで発生している不具合も一緒に直ったかまでは分かりません…!
MediaTekCPUでの動作報告もお待ちしております!