Maaf, saya akan menambahkan komentar ke utas pertanyaan Anda tetapi ternyata saya terlalu banyak menguraikan. Pengalaman pengembangan saya berasal dari perspektif DX 11 sehingga beberapa di antaranya mungkin tidak berlaku di OpenGL
Lokasi memori data tentu saja memainkan peran utama. Tetapi ada beberapa item lain yang bisa memainkan ini, lebar data seperti yang Anda tahu. Saya telah memiliki beberapa GPU dan memiliki kinerja yang luar biasa berdasarkan beberapa titik kritis tertentu. Itu adalah contohnya, pada AMD r290 lama saya jika saya ingat, Anda pada dasarnya bisa melewatkan hingga 4 float4s melalui buffer vertex tanpa biaya tambahan lebih dari 1, tetapi begitu saya memposting> 4 maka ada penurunan yang terukur (dalam bingkai) menilai). Ini murni dari ingatan saya dan jadi anekdot sebagai yang terbaik. Tetapi ia berpendapat bahwa arsitektur GPU berubah sepanjang waktu, dan teknik niche apa yang memberi Anda keunggulan kinerja hari ini mungkin menjadi kutukan bagi kinerja Anda besok. SAYA'
Karena itu, Anda telah mengajukan pertanyaan tentang pemesanan simpul, dan tentu saja itu akan membantu sedikit. Keuntungan kinerja adalah ketika Anda menggabungkan ini dengan buffer indeks yang kemudian memungkinkan perangkat keras untuk mengoptimalkan dan cache simpul yang sudah dihitung. Anda tentu bisa mendapatkan lebih banyak keuntungan dari strip Segitiga dll yang dipesan khusus sesuai pikiran Anda. Sebagian besar model rendering yang saya lakukan adalah model dioptimalkan berbasis indice / vertex dengan instancing, saya menggunakan sedikit pencarian untuk efek gerakan siklik (cabang pohon misalnya), dalam kasus ini seluruh cabang pohon mencari nilai yang sama. Jadi caching dapat dimanfaatkan di sini juga.
Yang bisa saya katakan dalam ringkasan dari diri saya adalah:
- Cobalah untuk tidak terlalu memikirkan optimasi di awal, sementara Anda masih mengembangkan game / aplikasi Anda mencoba untuk tidak mengoptimalkan secara prematur. Jika Anda perlu kembali dan menambahkan kemampuan baru, Anda mungkin kehilangan semua upaya. Anda memiliki kebiasaan saya mungkin> <, senang mencoba mendapatkan kinerja dan teknik terbaik
- Arsitektur GPU bervariasi, dan kekuatan satu dapat mencerminkan kelemahan yang lain. AMD dan Nvidia terkenal untuk mendapatkan pengembang untuk mengoptimalkan game ke arsitektur mereka, karena suatu alasan, masing-masing memiliki kelebihan / kekurangan. Mengambil jalan tengah pada pengembangan mungkin tempat terbaik, jangan gunakan fitur berbasis vendor perangkat keras (pendapat di sini). (Tambahkan ke itu, beberapa format dikemas hanya ada di AMD).
Ini hanya beberapa pemikiran dan pengalaman yang saya miliki. Ada banyak buku di luar sana yang harus Anda tangani di sekitar topik-topik ini. Saya tidak melihat banyak resep apa yang Anda usulkan, tetapi itu tidak berarti itu salah. Semoga berhasil.