OpenSiv3D icon indicating copy to clipboard operation
OpenSiv3D copied to clipboard

macOS版にてTransformer2Dを使用すると描画がちらつく

Open m4saka opened this issue 3 years ago • 2 comments

エラーの内容 | Describe the runtime error macOS版にてTransformer2Dを使用すると描画がちらつきます。 具体的には、不規則なタイミングで画面全体が背景色で塗りつぶされるような挙動となります(下記添付動画参照)。

https://user-images.githubusercontent.com/14288724/178095922-b31c73a2-06a1-4101-9306-1d6e782dccb1.mov

再現方法 | To Reproduce 下記のサンプルプログラムをmacOS版(M1 Mac+Rosettaの環境)にてビルド、実行する。 https://zenn.dev/reputeless/books/siv3d-documentation/viewer/tutorial-renderstates2d#21.9-%E5%BA%A7%E6%A8%99%E5%A4%89%E6%8F%9B%E8%A1%8C%E5%88%97%E3%82%92%E9%81%A9%E7%94%A8%E3%81%99%E3%82%8B

発生環境(デスクトップの場合) | Desktop (please complete the following information):

  • 機種: MacBook Air (M1, 2020)
  • OS: macOS Big Sur
  • バージョン | Version: 11.2.1
  • GPU: Apple ~7コアGPU~ 8コアGPU (※訂正)

備考 | Additional context

  • OpenSiv3Dのバージョンは0.6.4です。
  • Transformer2Dの影響下でない描画箇所についてもちらついています。ただし、Printで表示した文字についてはちらつきません。
  • Windows版ではちらつきは発生しませんでした。

m4saka avatar Jul 09 '22 07:07 m4saka

ご報告ありがとうございます。 Intel Mac では確認できなかったため、Rosetta との相性の問題と思われます。 7 月末に Apple Silicon 開発機を導入するため、その後の検証・対応となります。

Reputeless avatar Jul 10 '22 13:07 Reputeless

ありがとうございます! お手数をおかけしますがよろしくお願いいたします🙇‍♂

補足を記載します。

  • Xcodeのバージョン: 12.4 (12D4e)
  • Debugビルド・Releaseビルドの両方で発生
  • 現象がTransformer2Dによるものと判断した理由:
    • 制作していたプロジェクトをmacOS(Rosetta環境)でビルドしたところこの現象が発生し、Transformer2Dの行をコメントアウトしたところ現象が発生しなくなった
    • OpenSiv3D 0.6.4デフォルトのプロジェクトは問題なく動作しており、そこへTransformer2Dの行を入れると現象が再現した(差分)
      • ただし、Transformer2DにMat3x2:Identity()を指定した場合は現象は発生しませんでした
  • 現象が再現した環境での「system_profiler SPDisplaysDataType」の実行結果:
    $ system_profiler SPDisplaysDataType
    Graphics/Displays:
    
        Apple M1:
    
            Chipset Model: Apple M1
            Type: GPU
            Bus: Built-In
            Total Number of Cores: 8
            Vendor: Apple (0x106b)
            Metal Family: Supported, Metal GPUFamily Apple 7
            Displays:
            Color LCD:
                Display Type: Built-In Retina LCD
                Resolution: 2560 x 1600 Retina
                Main Display: Yes
                Mirror: Off
                Online: Yes
                Automatically Adjust Brightness: No
                Connection Type: Internal
    

m4saka avatar Jul 11 '22 02:07 m4saka

OpenSiv3Dのバージョンは0.6.4のままで、macOSとXcodeのバージョンをアップデートしたところ現象が発生しなくなりました。

OSバージョンを上げるとXcodeもアップデートしないといけなくなったので、どちらのアップデートが効いたかは不明です。 ただ、アップデート直前に現象発生は確認できていたので、いずれかのアップデートが効いたことは確実のようです。

https://github.com/Siv3D/OpenSiv3D/assets/14288724/b0ab4a22-7776-4565-a987-a78fcef794f7

▪️発生バージョン(OSアップデート前) OpenSiv3Dのバージョン: 0.6.4 OSバージョン: macOS Big Sur 11.2.1 Xcodeのバージョン: 12.4 (12D4e)

▪️非発生バージョン(OSアップデート後) OpenSiv3Dのバージョン: 0.6.4 OSバージョン: macOS Ventura 13.5(22G74) Xcodeのバージョン: 14.3.1 (14E300c)

現象が発生しなくなったので、Issueをクローズします。 ありがとうございました!

m4saka avatar Aug 13 '23 17:08 m4saka

環境の問題だったようで、Siv3D 側での解決は難しかったです。ご報告ありがとうございます。

Reputeless avatar Aug 14 '23 02:08 Reputeless