.NET 응용 프로그램 (예 : C#)의 부동 소수점 계산이 항상 동일한 비트 결과를 생성하도록 보장 할 수 있습니까? 특히 다른 버전의 .NET을 사용하고 다른 플랫폼에서 실행될 때 (x86 대 x86_64). 부동 소수점 연산의 부정확성은 중요하지 않습니다.결정 론적 부동 소수점 및 .NET
자바에서는 strictfp를 사용합니다. C/C++ 및 다른 저수준 언어에서이 문제는 기본적으로 FPU/SSE 제어 레지스터에 액세스하여 해결되지만 .NET에서는 가능하지 않습니다. 심지어 FPU 제어의 제어
다른 플랫폼에서 서로 다른 코드를 생성합니다 .NET의 JIT를 등록합니다. 내가 필요한 이유는 무엇 핫스팟처럼 뭔가 ...
이 경우 더 악화 될 것이라고? 저는 잠금 단계 식 시뮬레이션과 함께 빠른 부동 소수점 연산에 크게 의존하는 실시간 전략 (RTS) 게임을 작성하려고합니다. 본질적으로 나는 네트워크를 통해서만 사용자 입력을 전송할 것입니다. 이는 사용자 입력을 저장하여 재생을 구현하는 다른 게임에도 적용됩니다.
하지 옵션은 다음과 같습니다
- 소수 (너무 느린)
- 고정 소수점 값 (SQRT, 죄, COS, 황갈색, ATAN를 사용할 때 너무 느리고 성가신 ...)
- 갱신 FPS와 같은 네트워크에서 상태 : 수백 또는 수천 개의 단위에 대한 위치 정보 전송은 옵션이 아닙니다.
아이디어가 있습니까?
C/C++에서 게임의 중요한 부분 (시뮬레이션)을 작성한다면 닷넷없이 전체 게임을 작성할 수 있습니다. 어쩌면 여기가 "옳은"길일 것입니다. – user285934
MSVC 컴파일러의 C/C++ IJW (It-Just-Works) 기능을 살펴보십시오. 관리되지 않는 코드로 작성해야하는 내용을 작성하고 나머지는 관리되는 코드로 처리하여 게임의 나머지 관리되는 부분과 원활하게 인터페이스 할 수 있습니다. – Ants