Canvas animation- koristiti samo jedan canvas ili više?

Pozdrav,

zanima me koji je pristup najispravniji ako radim animaciju u canvasu. Koristiti samo jedan canvas element ili više njih, tj. po jedan canvas element za svaki objekt kojim želim upravljati?

U slučaju da je ispravno koristiti samo jedan, muči me sljedeća problematika:

Recimo da imam loptu kojoj zadam da putuje iz točke A u točku B. U isto vrijeme želim animirati pokret igrača. Koliko čitam, svaki frame započinje brisanjem prošlog frame-a. Prema tome, ako mi je sve u jednom canvasu…animacija jednog objekta će obrisati i ostale elemente, i onda moram u svakom framu renderirat sve objekte?

Je, uvijek je samo jedan.

Hmmm…jednom davno sam raspravljao o tome s jednim forumskim članom i on me također uvjeravao da je samo jedan. Ja sam ostao u tom vjerovanju…al sad kad malo kopkam po netu, na raznim mjestima predlažu da se kroz više canvasa može optimizirati crtanje, jer se može refreshati samo onaj canvas gdje se objekt pomaknuo.
Recimo to se predlaže i ovdje: http://www.html5rocks.com/en/tutorials/canvas/performance/

E sad, što se ima dodati u prilog korištenju multi layed canvasima, a što protiv?? …tj. zašto bi trebao biti samo jedan?

I u ovom slucaju je sam jedan vidljiv. Ostali nisu vidljivi a predpostavka je da u nevidljive brze crta jer u stvari…ne crta. Ovo vjerojatno ovisi o pregledniku i nacinu na koji je implementiran canvas.

Ne…to si gledao za “Pre-render to an off-screen canvas” …ali imaš dolje ispod drugu metodu optimizacije “Use multiple layered canvases for complex scenes” …koja govori o korištenju više canvasa.


Copyright © 2022 WM Forum - AboutContact