Saya tahu efisiensi adalah kunci dalam pemrograman game dan saya memiliki beberapa pengalaman dengan merender "peta" sebelumnya, tetapi mungkin tidak dengan cara terbaik.
Untuk gim TopDown 2D: (cukup render tekstur / ubin dunia, bukan yang lain)
Katakanlah, Anda memiliki peta 1000x1000 (ubin atau apa pun). Jika ubin tidak ada dalam tampilan kamera, seharusnya tidak boleh ditampilkan - sesederhana itu. Tidak perlu membuat ubin yang tidak akan terlihat. Tetapi karena Anda memiliki 1000x1000 objek di peta Anda, atau mungkin lebih sedikit, Anda mungkin tidak ingin mengulang semua 1000 * 1000 ubin hanya untuk melihat apakah mereka seharusnya dirender atau tidak.
Pertanyaan: Apa cara terbaik untuk menerapkan efisiensi ini? Sehingga "cepat / cepat" dapat menentukan ubin apa yang seharusnya diberikan?
Juga, saya tidak membangun permainan saya di sekitar ubin yang diberikan dengan SpriteBatch sehingga tidak ada persegi panjang, bentuknya bisa berbeda ukuran dan memiliki banyak titik, katakanlah benda melengkung 10 poin dan tekstur di dalam bentuk itu;
Pertanyaan: Bagaimana Anda menentukan apakah objek semacam ini "di dalam" Tampilan kamera?
Sangat mudah dengan persegi panjang 48x48, lihat saja apakah X + Lebar atau Y + Tinggi dalam tampilan kamera. Berbeda dengan banyak poin.
Sederhananya, bagaimana mengelola kode dan data secara efisien agar tidak harus dijalankan melalui / loop melalui jutaan objek pada saat yang sama.