보기의 onDraw 이벤트에서 캔버스에 직접 그려주는 안드로이드 응용 프로그램을 작성하고 있습니다.캔버스에 그리기
가 여기에 문제가 이것이 CalculateMyPoint 루틴으로 그리는 데 시간이 오래 걸리는 것입니다 매우 비싼입니다
for (int x = 0; x < xMax; x++) {
for (int y = 0; y < yMax; y++){
MyColour = CalculateMyPoint(x, y);
canvas.drawPoint(x, y, MyColour);
}
}
:이 들어, 개별적으로 각 픽셀을 그리기 포함 뭔가를 그리기있어
나는 같은 것을 사용 방법.
캔버스에 그림을 그리는보다 효율적인 방법이 있습니까? 예를 들어 비트 맵에 그려야하고 전체 비트 맵을 onDraw 이벤트에서 캔버스에 칠해야합니까? 또는 내 색상을 평가하고 onDraw 메서드로 캔버스를 칠하는 데 사용할 수있는 배열을 채울 수 있습니까?
내 응용 프로그램 사용자는 캔버스에서 그림에 영향을주는 매개 변수를 변경할 수 있습니다. 이것은 현재 매우 느립니다.
CalculateMyPoint를 처리하는 데 너무 오래 걸리는 이유는 무엇입니까? – Adam
주어진 픽셀에 사용할 색상을 계산하는 데 합리적으로 관련된 계산이 있습니다. 각 픽셀의 색상을 계산하는 것이 더 나은지 궁금한 점이 있습니다. 그 대신 뷰의 onDraw 이벤트 대신에. – Mattl
모든 픽셀을 개별적으로 그려야합니까? 왜냐하면 Droid 나 넥서스의 400k 픽셀 이상이기 때문에 런타임보다 CalculateMyPoint의 호출 횟수를 최적화 할 수있는 기회가 더 많다고 느껴집니다. – jqpubliq