Pertanyaan Apa kelebihan / kekurangan Canvas vs DOM dalam pengembangan game JavaScript? [Tutup]


Apa kelebihan dan kekurangan dalam membuat game di DOM 'murni' dibandingkan dengan menggunakan kanvas?


32
2018-02-15 14:07


asal


Jawaban:


kanvas pro:

  1. dapat memanipulasi piksel dan menerapkan efek filter, sehingga mudah untuk pemrosesan gambar;
  2. sangat efisien untuk ukuran kecil tetapi ratusan elemen dalam game
  3. banyak perpustakaan untuk permainan dapat ditemukan menggunakan kanvas, seperti box2dweb, dan bisa membuat game yang mengagumkan seperti burung marah

kontra:

  1. tidak bernegara, jadi Anda harus merekam keadaan elemen di kanvas, dan menangani uji klik sendiri.
  2. efisien rendah untuk ukuran sangat besar tetapi dengan satu beberapa elemen dalam permainan
  3. kemampuan hebat, tanggung jawab besar. kebebasan untuk menggambar, membawa Anda harus bertanggung jawab atas semua staf menggambar. Untungnya, ada banyak perpustakaan di sana, seperti cocos2d-html5, IvanK.

DOM pro:

  1. rendering oleh browser, jadi kurang rawan kesalahan;

kontra:

  1. bisa melakukan animasi sederhana dengan CSS saja, yang membuat permainan tidak lancar;
  2. tidak baik untuk memanipulasi ratusan elemen DOM;

7
2017-11-29 14:33



Dengan kanvas Anda dapat melakukan operasi seperti rotasi yang tidak dapat Anda lakukan dengan kubah murni tanpa menggunakan beberapa trik "berat". Pokoknya dom lebih cepat dan Anda dapat menggunakannya di setiap browser tanpa masalah. Anda harus berpikir tentang apa yang akan Anda gunakan dalam gim ini, jika Anda hanya akan menggunakan operasi dasar, gunakan dom jika tidak memilih kanvas.


1
2018-02-15 14:23



Ketika Anda mengembangkan dengan Kanvas Anda harus menggunakan teknik GameLoop yang sangat menyakitkan karena Anda harus menggambar ulang semua elemen sepanjang waktu.

Ketika Anda mengembangkan dengan DOM Anda akan dapat menggambar ulang hanya objek yang telah dimodifikasi dan akan membiarkan kerja keras untuk implementasi browser.

jika game Anda memiliki beberapa modifikasi per frame, maka Anda dapat menggunakan DOM, jika tidak, gunakan Canvas please! Itu jauh lebih cepat!


0
2018-02-13 12:40



Lihat di sini: Mengapa Canvas bukan pilihan yang jelas untuk permainan web.


0
2017-07-19 16:46