Może wydawać się to nieszkodliwe, ale gdy robimy to 1000+ razy przy 30 klatkach na sekundę, to się sumuje. Mam 3 rozmiary okręgów, które rysuję, każdy z własnym kolorem wypełnienia (RGBA). Czy szybciej rysuję je jako obrazy raz i używam drawImage()
z adresami URL danych, czy też dla każdego z nich mam arc()
?Łuk Canvas() kontra drawImage()
Dodatkowe informacje:
- Używając jednego płótna dla wszystkich środowisk
- Kontekst i płótno są buforowane
Pełna wezwanie do łuku w tej chwili wygląda
this.scene.context .arc (newLocation, this.y + = this.speed/80, this.distance/2, 0, Math.PI * 2, false);
Jeśli masz już swój kod, można sprawdzić, która wersja jest szybsza w [jsperf] (http://jsperf.com/) – jbalsas
Jeśli w końcu za pomocą metody arc() można zoptymalizować tę linię. np. ustaw kontekst jako zmienną lokalną, jeśli znajduje się w funkcji lub jako zmienną, aby "ta" i "scena" nie musiały być również wyszukiwane i wykonywać obliczenia jeden raz. Np. Var TWOPI = Math.PI * 2 – Richard