Semua artikel
Tutorial · 7 min read

Anggaran performa untuk seni lingkungan: angka sebelum keindahan

Cara menetapkan anggaran performa untuk adegan lingkungan, meliputi irisan waktu frame per sistem, plafon draw call dan memori, metode pengukuran tiga kamera, kadensi tinjauan, dan urutan tuas yang ditarik saat sebuah adegan melampaui.

Illustration of a performance gauge above stacked millisecond budget bars

"Optimasi di akhir" adalah cara proyek mati di sertifikasi. Sebuah anggaran performa (plafon waktu frame dan memori yang disepakati sebelum konten dibangun) mengubah optimasi dari krisis menjadi pemeriksaan rutin. Anggarkan milidetik alih-alih poligon, bagi frame seperti kue, ukur di tiga kamera tetap, buat angka terlihat di tempat kerja terjadi, dan tarik tuas dalam urutan efektivitas-biaya saat sebuah adegan menjadi merah. Artikel ini memberi seluruh sistem, dengan angka awal yang bisa Anda sesuaikan.

Punggungan berhutan memudar ke dalam kabut, lapis demi lapis Vista selalu tagihannya: jarak gambar maksimum, tiap sistem di layar sekaligus, tiap cincin LOD aktif. Anggarkan untuk pemandangan ini; koridor mengurus dirinya sendiri.

Anggarkan waktu frame, bukan poligon

Anggaran poligon adalah peninggalan: GPU modern tercekik pada draw call, overdraw, bayangan, dan bandwidth memori jauh sebelum segitiga mentah. Anggarkan yang benar-benar Anda ukur: milidetik per sistem, per pemandangan.

Game 60 fps memiliki 16,6 ms per frame; pada 30 fps, 33,3 ms. Itu seluruh anggaran, dibagi oleh semuanya: gameplay, fisika, AI, VFX, UI, dan lingkungan. Irisan lingkungan adalah negosiasi dengan rendering dan gameplay, tapi harus berupa angka, disepakati dan ditulis, atau tiap diskusi soal apakah sebuah adegan "terlalu mahal" runtuh menjadi selera dan senioritas. Di samping waktu frame, beri plafon pada kuantitas yang mengikatnya:

  • draw call per pemandangan (mengikat CPU jauh sebelum GPU jenuh),
  • memori tekstur dan mesh per zona streaming (angka yang memutuskan apakah Anda streaming atau tersendat),
  • cahaya pelempar bayangan dalam pandangan,
  • titik panas overdraw: vegetasi dan VFX adalah tersangka biasa.

Plafon pasti bergantung pada platform dan engine; disiplin memiliki plafon-lah yang berpindah ke tiap proyek yang pernah Anda rilis. Angka yang bisa Anda salahi mengalahkan firasat yang hanya bisa Anda perdebatkan.

Bagi frame seperti kue, dalam milidetik

Beri tiap departemen sebuah irisan (gameplay, VFX, UI, lingkungan), lalu bagi lagi irisan lingkungan: terrain, vegetasi, prop, air. "Apakah hutan ini terlalu mahal?" menjadi pertanyaan objektif.

Pembagian awal yang bisa dijalankan untuk judul 60 fps, dinegosiasikan ulang per proyek: lingkungan total 6–8 ms, dari mana terrain ~1,5, vegetasi ~2–2,5, prop dan struktur ~1,5, air dan atmosfer ~1. Intinya bukan angka-angka pasti ini; intinya, ketika hutan mengukur 4 ms melawan irisan 2,5 ms, percakapan menjadi "tuas mana yang kita tarik" alih-alih "salah siapa".

Irisan juga melindungi terhadap over-optimasi, kegagalan nyata dan mahal. Sistem yang duduk jauh di bawah irisannya adalah undangan untuk membelanjakan kelonggaran pada kualitas, bukan trofi untuk dibela. Tim tanpa irisan cenderung mengoptimasi apa pun yang diperhatikan insinyur paling berisik, yang jarang menjadi leher botol sebenarnya; diagram lingkaran memberitahu Anda ke mana milidetik benar-benar pergi.

Ukur di tiga kamera tetap

Anggarkan untuk pemandangan realistis terburuk, bukan rata-rata: pilih tiga "kamera anggaran" tetap per peta (vista terburuk, ruang tempur terpadat, interior tersibuk) dan ukur tepat di sana, setiap kali.

Terbang acak menghasilkan angka acak dan argumen tak-terfalsifikasi. Kamera tetap menghasilkan garis tren: pemandangan sama, diukur mingguan, menunjukkan tepat kapan dan di mana regresi mendarat dan siapa yang ditanya. Vista terburuk layak peran utama karena ia menumpuk semuanya sekaligus, yaitu jarak gambar maksimum, tiap cincin LOD, terrain, air, dan langit bersamaan. Peta yang menahan anggaran di vistanya menahannya hampir di mana-mana; koridor menyanjung Anda, dan vista mengatakan yang sebenarnya.

Simpan posisi kamera di peta agar siapa pun bisa mereproduksi bidikan tepat. "Jalan lancar di mesin saya pada suatu sudut" bukan data; "kamera anggaran 2 mengukur 9,2 ms pada spesifikasi minimum, naik dari 7,8 minggu lalu" adalah laporan bug dengan tersangka.

Buat anggaran terlihat di tempat kerja terjadi

Anggaran di wiki itu mati: ia hidup sebagai overlay statistik selama dressing, pemeriksaan terhadap plafon sebelum merge konten, dan peringatan ketika sebuah bake akan melampaui jumlah instans.

Seniman menaati anggaran dengan senang hati saat umpan baliknya seketika, dan membenci mereka saat datang sebagai tiket bug tiga bulan setelah kerja dirilis. Sisi perkakas penting di sini dengan cara senyap tapi menentukan: ketika scatter dan blending memanggang ke primitif native engine (mesh ter-instance dan foliage biasa, seperti yang Numivo lakukan), profiler Anda yang ada mengatakan kebenaran tanpa dandanan tentangnya, tanpa runtime plugin mengeruhkan angka, dan tiap tuas standar (jarak cull, LOD, jumlah instans) berlaku tanpa perubahan. Anggaran yang hanya bisa Anda ukur lewat kotak hitam adalah anggaran yang diam-diam akan berhenti Anda percayai.

Kadensi tinjauan yang bertahan

Tangkapan mingguan tiga kamera anggaran (lima menit), pemeriksaan plafon otomatis pada merge konten, dan tinjauan bulanan plafon itu sendiri, karena anggaran adalah perkiraan, dan revisi jujur mengalahkan pelanggaran senyap.

  • Mingguan: tangkap layar tiga kamera dengan statistik menyala; catat waktu frame dan memori ke lembar bersama. Tren muncul dalam sebulan, dan lonjakan menunjuk kerja minggu tertentu.
  • Saat merge: pemeriksaan otomatis membandingkan adegan dengan plafon. Angka merah membuka percakapan, bukan build rusak; tujuannya kesadaran, bukan birokrasi, dan blokade keras melatih orang untuk mengakali pemeriksaan.
  • Bulanan: tinjau lagi irisan itu sendiri. Realitas pertengahan proyek selalu berbeda dari tebakan pra-produksi; menyesuaikan anggaran secara terbuka menjaga kredibilitasnya. Anggaran yang diam-diam diabaikan semua orang lebih buruk daripada tidak ada, karena mengajarkan tim bahwa plafon adalah teater.

Ketika angka menjadi merah

Tarik tuas dalam urutan efektivitas-biaya: jarak cull dan pengaturan bayangan dulu (menit, kemenangan besar), lalu LOD dan impostor, lalu jumlah instans, dan baru terakhir seni itu sendiri.

Lokasi pembongkaran dengan kerangka beton telanjang sebuah bangunan Optimasi adalah triase, bukan pembongkaran. Robohkan seni terakhir: kebanyakan vista melampaui anggaran kembali hijau dari perubahan pengaturan tak terlihat jauh sebelum Anda harus menghapus apa pun yang bisa dilihat pemain.

Kesalahan mahal adalah melompat langsung ke "hapus separuh pohon". Kepadatan adalah tuas paling terlihat dan biasanya bukan yang termurah: vista melampaui 2 ms biasanya kembali hijau hanya dari penyetelan jarak bayangan dan jarak cull, keduanya tak terlihat bagi pemain. Menghapus konten adalah upaya terakhir justru karena itu satu-satunya tuas yang bisa dilihat pemain; tiap anak tangga di atasnya pada tangga itu gratis dari sudut pandang seni. Turuni tangga dan Anda mempertahankan tampilan sambil memulihkan milidetik; naik dari bawah dan Anda membuat game lebih jelek sebelum mencoba kemenangan gratis.

Angka lapangan yang layak dicuri

  • Frame pada 60 fps: 16,6 ms; lingkungan biasanya menegosiasikan 6–8 ms
  • Sub-pembagian lingkungan yang bisa dijalankan: terrain 1,5 / vegetasi 2–2,5 / prop 1,5 / air & atmosfer 1 (ms)
  • Kamera anggaran per peta: 3 (vista, tempur, interior), disimpan di peta
  • Biaya pengukuran mingguan: ~5 menit; nilai: garis tren alih-alih argumen
  • Urutan tuas saat merah: culling → bayangan → LOD → instans → seni

Mini-FAQ

Siapa pemilik anggaran lingkungan? Satu orang bernama (biasanya tech artist) memiliki pengukuran; plafon dimiliki bersama dengan rendering. Anggaran tanpa pemilik membusuk jadi cerita rakyat dalam sebulan, karena "semua bertanggung jawab" berarti tak ada yang mengukur.

Bagaimana anggaran bekerja dengan waktu-hari dinamis? Ukur kondisi cahaya terburuk di tiap kamera, bukan tercantik. Fajar dengan bayangan menyapu panjang sering dua kali biaya siang; anggaran yang hanya menahan di siang adalah setengah anggaran, dan pemain akan menemukan jam mahal.

Apakah saya butuh semua ini untuk proyek indie kecil? Perkecil, jangan hilangkan. Satu kamera anggaran, satu plafon (waktu frame di mesin spesifikasi minimum Anda), diperiksa mingguan. Kebiasaan lima menit itulah yang menyelamatkan bulan terakhir; terlepas dari ukuran tim, mode kegagalan identik: menemukan biaya saat mahal untuk diperbaiki.

Bagaimana dengan memori versus waktu frame? Itu anggaran berbeda dengan mode kegagalan berbeda: waktu frame menjatuhkan FPS Anda, memori menjatuhkan streaming Anda ke sendatan atau crash. Anggarkan keduanya; di konsol, memori sering plafon yang lebih keras, dan itulah yang menggagalkan sertifikasi alih-alih sekadar terasa buruk.

Anggaran bukan batas pada keterampilan seni; ia alasan adegan indah masih terlihat indah pada 60 fps di perangkat keras yang pemain benar-benar miliki. Tim yang memperlakukan performa sebagai kendala desain bersama merilis game lebih cantik daripada tim yang memperlakukannya sebagai bos akhir.