C#의 내장 Vector3 구조체를 부동 소수점 Singles를 사용하지 않고 대신 성능상의 이유로 int 또는 바이트를 사용하도록 변경할 수 있습니까?Vector3 부동 소수점?
답변
정수 또는 바이트 연산을 기반으로 자신의 Vector3
구조체를 만들어야합니다. 이것은 하나의 "내장"Vector3
이 없기 때문에 가능합니다 (프레임 워크에 3D 벡터가 여러 개 구현되어 있음).
프레임 워크 API 호출에서 사용할 계획이라면 프레임 워크 버전으로 변환해야합니다.
자신의 벡터 3을 만들거나 Tuple을 사용할 수 있습니다.
그러나 Vector3
이 필요하다고 예상되는 전화를 걸면 이 아니며이 예상 유형이됩니다. 이러한 상황에서는 표준 Vector3
을 사용해야합니다.
프레임 워크 튜플 유형은 구조체가 아닌 모든 클래스입니다. 목표에 따라 여기가 적절하지 않을 수도 있습니다 ... –
이미 지적했듯이 기존 유형 (Vector3d 포함)을 변경하여 해당 유형의 구성원을 사용할 수는 없습니다. 자신을 직접 만들어야합니다 (그렇게 할 때 class
과 struct
의 차이점을 알고 있어야합니다).
성능에 문제가있는 경우 특정 사례에 대해 신중하게 측정해야합니다. 이러한 변경으로 인해 상당한 비용 절감 효과가 나타나는지 여부는 매우 분명하지 않습니다.
float를 int로 변경해도 공간을 절약 할 수없고 계산이 복잡해질 수 있습니다 (예 : 1.5 * 1.5는 float으로 쉽게 처리 할 수 있지만 스케일 된 int를 사용하는 경우 추가 작업 15 * 15/100 및 sin/cos 회전에 사용하면 잘 작동하지 않을 수도 있습니다).
float를 byte로 변경하면 공간을 절약 할 수 있지만 수학 연산이 복잡해지고 모든 조작에 대해 int에서 /로 int 변환이 강제됩니다.
- 1. 부동 소수점 실수 부동 소수점 오류
- 2. 부동 소수점
- 3. 부동 소수점
- 4. 부동 소수점 덧셈과 부동 소수점 곱셈의 상대 속도는 무엇입니까
- 5. 부동 소수점 직렬화, 사전 식 비교 == 부동 소수점 비교
- 6. NASM 부동 소수점 오류 부동 소수점 스택에 조작을 수행에서 작업
- 7. 부동 소수점 문제 이해
- 8. 왼쪽 부동 소수점
- 9. 부동 소수점 부정확
- 10. 소프트웨어 부동 소수점 (호프)
- 11. 16 비트 부동 소수점
- 12. 부동 소수점 연산
- 13. 팬더 부동 소수점 오류
- 14. C의 부동 소수점 숫자
- 15. 부동 소수점 및 높이
- 16. 어셈블리의 부동 소수점
- 17. 부동 소수점 연산 피하기
- 18. 스핑크스 부동 소수점 서식
- 19. 어셈블러 부동 소수점 연산
- 20. JavaScript에서의 부동 소수점 연산
- 21. 부동 소수점 연산을 중지하십시오.
- 22. GCC의 부동 소수점 연산
- 23. 부동 소수점 - 정규 표현식
- 24. MySQL의 부동 소수점
- 25. 부동 소수점 정밀도
- 26. 부동 소수점 정밀도
- 27. 함수와 부동 소수점 비교
- 28. MIPS 부동 소수점 오류
- 29. 왜 부동 소수점 예외입니까?
- 30. XML의 부동 소수점 숫자
* 스왑 아웃 *에서와 같이 변경할 수 있습니까? No. – user7116