この記事はWebGL Advent Calendar 2015の9日目の記事です。 ご注意 本記事は2015年当時に書いた記事なのですが、GPUがGeForce 8x00シリーズ以降、SIMDからSIMTという並列実行形式に切り替わった頃から状況が大きく変わりました。 以前は本記事でも紹介するインターリーブ形式の頂点データの方が高速だったのですが、現在のGPUでは多くの環境で非インターリーブの方が高速とされています。 AMD GPUにおいても、GCNアーキテクチャ(PS4以降の世代)から(それまでのVLIWから)SIMTに切り替わり、非インターリーブを推奨されているようです。 WebGLは基本的にネイティブ3D APIへのマッピングに過ぎないため、この傾向はおそらくWebGLでも同様と考えられます。 とはいえ、インターリーブ(AoS)や非インターリーブ(SoA)はCGをやる上でいずれ避けて
![GPU本来の性能を引き出すWebGL頂点データ作成法 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/0b0e86a8317d11463b0bc78d4974e693667a29f2/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9R1BVJUU2JTlDJUFDJUU2JTlEJUE1JUUzJTgxJUFFJUU2JTgwJUE3JUU4JTgzJUJEJUUzJTgyJTkyJUU1JUJDJTk1JUUzJTgxJThEJUU1JTg3JUJBJUUzJTgxJTk5V2ViR0wlRTklQTAlODIlRTclODIlQjklRTMlODMlODclRTMlODMlQkMlRTMlODIlQkYlRTQlQkQlOUMlRTYlODglOTAlRTYlQjMlOTUmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ21pZGRsZSZzPWZlNTkzYTA2Mzg1ZjQ5MjYzZmI1YjEyOGM5NjgwYzM4%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwZW1hZHVyYW5kYWwmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTE0ZmJiYWQxMTEwZjMwZWQwODdmY2FiYWU3ODEzNTJk%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D12a92090188496ce75b78f09f3e44ed8)