나는 너비가 1000이고 높이가 600 인 캔버스가 있습니다.이 캔버스 내에서 나는 자신의 ID가 각각 300-500 개의 사각형 타일을 가지고 있습니다. 캔버스 내에서 마우스 좌표를 감지 할 수 있지만 조회 테이블로 1000 x 600 2D 배열을 가져야하거나 좌표가 타일 내에있는 지 알 수있는 알고리즘을 실행해야합니다. 이것은 javascript이므로 모든 것이 브라우저 내에 있습니다. 브라우저가 처리하기에 너무 많은 1000 x 600 2D 배열입니까? 구현은 현명한 룩업 테이블 (look-up table)을 사용하는 것이 훨씬 쉽지만 (아마도 더 빠름), 공간에서의 절충이 너무 많습니다.조회 테이블로 2 차원 배열을 사용하는 것과 클릭 계산을 비교하는 것
1
A
답변
1
숫자에 따라 다를 수 있습니다. 이 많은 클릭이 있으며, 대상의 위치가 변경되지 않으면
, 당신이 제안하고 같이 매핑을 미리 계산하는 것이 더 효율적일 수 있습니다.
그러나 초기 매핑을 생성하는 비용은 상대적으로 높으며 디스플레이가 변경되면 해당 비용이 다시 발생합니다 (이를 완화 할 수있는 방법이 있다고 생각합니다). 내 추측 추측은 목표를 반복하고 각 클릭에 대해 수학을하는 것이 더 빠르다는 것입니다. 수학이 단지 직사각형 일 때 매우 복잡하거나 집중적이어서는 안되기 때문입니다.
구현하기 가장 쉬운 방법을 사용하십시오. 충분히 실적이 좋지 않은 경우 (또는 단지 원하는대로 제공하려는 경우) 다음을 시도해보십시오.
+0
"클릭 수가 많아서 타겟 위치가 변경되지 않으면 제안하는대로 매핑을 미리 계산하는 것이 더 효율적일 수 있습니다." 이것은 정확하게 그 경우입니다. 나는 먼저 룩업 테이블을 시도 할 것이다! – MrBrightside
관련 문제
- 1. Perl에서 2 개의 배열을 비교하는 것
- 2. 파이썬에서 모듈을 지정하는 것과 전역을 비교하는 것
- 3. 2 차원 배열을 2 차원 배열로 변환
- 4. 어떻게 2 차원 배열을 2 차원 배열
- 5. 파일에 2 차원 배열을 쓰고 Visual C++를 사용하여 파일에서 2 차원 배열을 읽는 것
- 6. 2 차원 배열을 사용하는 사각형 객체
- 7. "정상적인"2 차원 배열을 **
- 8. 3 차원 배열을 2 차원 배열로 변환
- 9. 2 차원 배열을 1 차원 배열로
- 10. 어떻게 2 차원 배열을 자바 스크립트로 선언합니까? 내가 좋아하는 것
- 11. Python에서 요소를 가져 와서 배열을 2 차원 배열에 넣는 것
- 12. Javascript에서 2 차원 배열에 값을 두는 것
- 13. 2 차원 배열에 2 개의 1 차원 배열을 Java로 채우는 것
- 14. 2 차원 배열을 만드는 법
- 15. 오른쪽 2 차원 배열을 회전
- 16. 세로로 2 차원 배열을 출력합니다.
- 17. 2 차원 배열을 함수에 전달
- 18. 2 차원 배열을 임의로 채우십시오.
- 19. Smarty로 2 차원 배열을 반복합니다.
- 20. 2 차원 배열을 90도 회전
- 21. 2 차원 배열을 C++로
- 22. 2 차원 포인터 배열을 QSorting
- 23. 2 차원 배열을 파이썬으로 작성하기
- 24. 2 차원 배열을 반복 C#
- 25. 2 차원 배열을 합하는 방법
- 26. 외부 2 차원 배열을 다른 2 차원 배열 (자바 스크립트)
- 27. 2 차원 동적 길이 배열을 만들려면 어떻게해야합니까?
- 28. 2 차원 배열을 Java로 어떻게 복사합니까?
- 29. asp.net MVC의 2 차원 배열을 반복 Looping
- 30. Objective-C 객체의 2 차원 C 배열을 사용하는 방법은 무엇입니까?
자바 스크립트 인 경우 Java에 태그가 붙은 이유는 무엇입니까? 자바! = JavaScript. –
클릭 계산은 두 개의 빼기 (원점 가져 오기)와 셀/사각형 가져 오기의 두 부분으로 나뉩니다. 복잡성을 더하기 위해 그렇게 열심히 보지 않습니다. 내가 누락 된 것이 있습니까? – SJuan76
javascript ... – MrBrightside