Interaksi dengan scripting browser
Cara debug dan pemecahan masalah WebGL builds

Pertimbangan kinerja WebGL

Secara umum, kinerja WebGLLogin API yang membuat grafis 2D dan 3D di browser web. Opsi build Unity WebGL memungkinkan Unity untuk mempublikasikan konten sebagai program JavaScript yang menggunakan teknologi HTML5 dan WebGL rendering API untuk menjalankan konten Unity di browser web. More info
Lihat di Glossary
dekat dengan aplikasi asli di GPU, karena API grafis WebGL menggunakan GPU Anda untuk rendering yang dicentang perangkat keras. Satu-satunya pengecualian adalah sedikit overhead untuk menerjemahkan panggilan WebGL API dan shadersProgram yang berjalan di GPU. More info
Lihat di Glossary
ke API grafis OS Anda (biasanya DirectX di Windows, OpenGL di Mac, dan Linux).

Pada CPU, Emscripten menerjemahkan kode Anda ke WebAssembly, kinerja yang tergantung pada browser web yang Anda gunakan. Untuk informasi lebih lanjut, lihat posting blog Unity.

Berikut adalah pertimbangan tambahan yang harus Anda ketahui: * Bahasa JavaScript tidak mendukung multi-threading atau SIMD. * Setiap kode yang manfaat dari fitur-fitur ini cenderung lebih lambat dari kode lain. * Anda tidak dapat menulis threading atau SIMD kode di WebGL di scriptsSepotong kode yang memungkinkan Anda untuk membuat Komponen Anda sendiri, memicu peristiwa permainan, memodifikasi sifat komponen dari waktu ke waktu dan menanggapi input pengguna dengan cara apa pun yang Anda sukai. More info
Lihat di Glossary
Anda, tetapi sebagai beberapa bagian mesin yang multi-threaded atau SIMD dioptimalkan, mereka menawarkan kinerja rendah di WebGL. Misalnya, WebGL SkinningProses mengikat sendi tulang ke vertices mesh karakter atau ‘skin’. Dilakukan dengan alat eksternal, seperti Blender atau Autodesk Maya. More info
Lihat di Glossary
adalah multi-threaded dan SIMD-optimalkan.

Sitemap Untuk melihat bagaimana Unity mendistribusikan pekerjaan ke benang yang berbeda pada platform non-WebGL, lihat garis waktu baru Tip: di Unity.ProfilerJendela yang membantu Anda untuk mengoptimalkan permainan Anda. Ini menunjukkan berapa banyak waktu yang dihabiskan di berbagai bidang permainan Anda. Sebagai contoh, dapat melaporkan persentase waktu yang dihabiskan rendering, aimating, atau dalam logika permainan Anda. More info
Lihat di Glossary
in Unity.

Pengaturan WebGL-specific yang mempengaruhi kinerja

Untuk kinerja terbaik, atur tingkat optimasi ke Faster di jendela Build Player, dan atur Exception support ke None dalam pengaturan Player untuk WebGL dengan memperluas Other Settings > Stack Trace.

Profil WebGL

WebGL mendukung profiler Unity. Lihat dokumentasi Profiler untuk mempelajari cara mengaturnya.

Konten WebGL di tab latar belakang

Jika Run in background diaktifkan pada Pengaturan pemain untuk platform WebGL, atau jika Anda mengaktifkan Aplikasi.runInBackground, konten Anda terus berjalan ketika kanvas atau jendela browser kehilangan fokus.

Namun, beberapa browser dapat throttle konten berjalan di tab latar belakang. Jika tab dengan konten Anda tidak terlihat, konten Anda hanya memperbarui sekali per detik di sebagian besar browser. Perhatikan bahwa penyebab ini Time.time untuk maju lebih lambat dari biasanya dengan pengaturan default, sebagai nilai default Time.maximumDeltaTime lebih rendah dari satu detik.

Throttling WebGL performance

Anda mungkin ingin menjalankan konten WebGL Anda pada tingkat bingkai yang lebih rendah dalam beberapa situasi untuk mengurangi penggunaan CPU. Misalnya, pada platform lain, Anda dapat menggunakan API Aplikasi.targetFrameRate untuk melakukannya.

Ketika Anda tidak ingin kinerja throttle, atur API ini ke nilai default -1, daripada nilai tinggi. Ini memungkinkan browser untuk menyesuaikan tingkat bingkai untuk animasi yang paling halus dalam loop render browser, dan mungkin menghasilkan hasil yang lebih baik daripada Unity mencoba melakukan waktu loop utama sendiri untuk mencocokkan tingkat bingkai target.


  • 2019–06–10 Login
Interaksi dengan scripting browser
Cara debug dan pemecahan masalah WebGL builds