그림 이벤트와 같이 자주 호출되는 메서드에서 위치 및 경계를 지정하기 위해 점 및 사각형 객체를 재사용하는 것이 더 효율적입니까? 아니면 새로 만들어야합니까?점과 직사각형을 재사용하거나 새로 작성해야합니까?
4
A
답변
3
음, Point
및 Rectangle
은 객체되지 않습니다 - 그들은 struct
들입니다. 그래서 그들은 힙이 존재하지 않는 한 (필드에 있지 않다면) 반대로 을 복사하면이 영향을 줄 수 있습니다 (거대한 것은 아니며 매우 크지는 않습니다).
긴밀한 루프에서 사용하는 경우이를 변수로 미리 미리 초기화하십시오. 물론, 당신은 단지 에Point
등을 사용하여 현재 x/y 및 너비/높이를 리팩터링 할 수 있습니다. 또한 (대부분의 시나리오와는 달리) 실제로는 가변적 인 구조체이기 때문에 루프 내부에서 내부 값을 변경할 수 있습니다.
또한 IIRC에는 원시 값을 사용하는 많은 그래픽 작업의 오버로드가 있습니다. 구조체 대신에 - 당신은 그것들을 고려 했습니까?
궁극적으로, 이것이 실제 그래픽 작업에 비해의 영향이 눈에 띄는 영향은 이라고 생각하지 않습니다. 그것을 강조하지 마십시오. 코드가 작동하는 경우 ...
관련 문제
- 1. 티파니에서 직사각형을 자르는 방법?
- 2. 직사각형을 길게 누르십시오.
- 3. 직사각형을 그리려면 뷰를 만들어야합니까?
- 4. 직사각형을 사용하여 그림 자르기
- 5. 교차 된 직사각형을 얻으십시오!
- 6. 이미지에 빨간색 점과 제목을 추가하십시오.
- 7. 연결된 점과 회전 행렬 체인
- 8. flex에서 직사각형을 그리는 방법 4.5.1?
- 9. Open GL : 테두리가있는 직사각형을 그립니까?
- 10. iOS 곡선 끝이있는 직사각형을 그립니다.
- 11. C# 그림 상자에 직사각형을 그립니다.
- 12. C에서 PictureBox 새로 고침
- 13. `System.IO.Path`를 구체적으로 작성해야합니까?
- 14. Ajax 양식을 어떻게 작성해야합니까?
- 15. AS3 루프에서 어떻게 작성해야합니까?
- 16. 콜백은 어떻게 작성해야합니까?
- 17. 이 릴리스를 작성해야합니까?
- 18. viewModel은 어디에서 작성해야합니까?
- 19. 왜 이런 반복기를 작성해야합니까?
- 20. PHP를 사용하여 XML을 작성해야합니까?
- 21. 언제 mysql 트리거를 작성해야합니까?
- 22. 정말이 "SerializationHelper"작성해야합니까?
- 23. 이 헤더를 C로 작성해야합니까?
- 24. 두 점과 방향 벡터로부터 각도를 계산하십시오.
- 25. 파란색 점과 동그라미 현재 위치를 찾을 때
- 26. PERFORCE 매핑 규칙에서 점과 Asterik의 차이점은 무엇입니까?
- 27. 자바 스크립트는 중단 점과 함께 만 실행됩니다.
- 28. ggplot2 사용법 범례에서 점과 선을 표현하는 방법
- 29. 점과 선 사이의 최소 직교 벡터
- 30. Github에서 좋은 점과 나쁜 점을 어떻게 구별합니까?