픽셀 별 충돌 검사를 수행하는 XNA 게임을 작성하고 있습니다. 이것을 검사하는 루프는 int와 bitwise ORing을 이동하여 수행하며 일반적으로 읽고 이해하기 어렵습니다.C# 컴파일러가 메서드 호출을 인라인했는지 확인할 수 있습니까?
private bool IsTransparent(int pixelColorValue)
과 같은 개인 메서드를 추가하여 루프를보다 읽기 쉽게하고 싶습니다. 그러나이 메서드는 성능에 민감한 코드이므로 메서드 호출의 오버 헤드를 원하지 않습니다.
컴파일러에서이 호출을 강제 실행하는 방법이 있습니까, 아니면 컴파일러에서이 최적화를 수행하기를 바랍니다.
강제하는 방법이 없으면 메소드가 인라인되었는지, 디스 어셈블리를 읽지 않는지 확인하는 방법이 있습니까? 인라인되어 있고 다른 호출자가없는 경우 메서드가 리플렉션에 표시됩니까?
편집 : 강제로 설정할 수 없으므로 검색 할 수 있습니까?
(.Net 4.5). '[MethodImpl (MethodImplOptions.AggressiveInlining)] ' – Mahmoodvcs