저는 2D 게임 엔진을 쓰고 있습니다. 성능을 확인하기 위해 각각 3 명의 어린이가있는 1000 개의 객체를 그렸습니다. 오직 아이들이 그려, 그 구조는 다음과 같습니다 : 500 개체왜 Canvas 구현이 Pixi.JS보다 빠릅니다?
save();
translate(object.x, object.y);
rotate(object.rotation);
beginPath();
moveTo(0, 0);
lineTo(object.length/8, -object.length/8);
lineTo(object.length, 0);
lineTo(object.length/8, object.length/8);
stroke();
for (child in children) {
// repeat the same for each child
}
restore();
그것은 도착 ~ 25fps로를 : 모든 개체를 그리기 내 구현을 캐시 경로를 사용하지
var object = { x:, y:, length:, children: [ /* this repeats three times */ ] };
은 다음과 같습니다 (1500 어린이 총 무승부). WebGL이 더 빠를지를보기 위해 PIXI.js를 시도했습니다. 나는 객체들에 PIXI.DisplayObjectContainer
을 사용하고 각 자식들에 대해서 PIXI.Graphics
을 사용했다. (초기화시 각각 moveTo...lineTo
블럭을 호출했다.) 20FPS를 초과 할 수 없었습니다.
경로를 그릴 때 WebGL을 통해 뭔가 이상한 점이 있었거나 일부 마법 Canvas 성능 향상이 있습니까? Ubuntu 12.04 x64에서 Chrome 33.0.1750.149를 사용했습니다.
처럼
WebGL Renderer
하려면이 정말 pixi.js 질문하지 WebGL이 질문을인가 강제 할 수 있습니까? 최대 100 만 개까지의 WebGL 드로잉 예제가 있습니다. pixi.js가 그렇게 할 수 없다면 WebGL 문제가 아니라 pixi.js 문제 일 것입니다. – gman@gman right, WebGL 태그 제거 – Killah