本文へスキップ

iOSデバイスの黒いテクスチャ

問題

特定のバージョンのiOSで高解像度や多数のテクスチャを使用すると、SafariのGPUメモリが不足することがあります。 テクスチャが黒くレンダリングされたり、ページがクラッシュしたりすることがある。

回避策

  1. シーンで使用するテクスチャのサイズ/解像度を小さくする ( テクスチャの最適化 を参照)

  2. **iOSデバイスで画像のビットマップを無効にする:

iOS 14とiOS 15には、テクスチャの問題を引き起こす可能性のある画像ビットマップに関連する既存のバグがあります。 画像ビットマップを無効にして、黒いテクスチャやクラッシュを防ぎます。 以下の例を参照のこと:

例iOSビットマップを無効にする(app.jsの先頭に追加):

// iOSでは、ビットマップがテクスチャの問題を引き起こすことがあります。
const IS_IOS =
/^(iPad|iPhone|iPod)/.test(window.navigator.platform) ||
(/^Mac/.test(window.navigator.platform) && window.navigator.maxTouchPoints > 1)
if (IS_IOS) {
window.createImageBitmap = undefined
}.