FORCEINLINE을 사용하면 인라인 함수로 선언된 코드가 매번 복사되어 컴파일된다. 이것은 코드의 크기가 증가하더라도 실행 속도를 높일 수 있다는 장점이 있다. 하지만 FORCEINLINE은 코드의 크기를 더욱 증가시키므로, 잘못 사용하면 코드의 크기가 커지고, 따라서 실행 속도가 느려질 수도 있다. 따라서 FORCEINLINE을 사용할 때에는 신중하게 선택해야 한다.

 

목차

     

     


     

     

    언리얼엔진 FORCEINLINE vs. C++ inline 함수

     

     


     

     

    C++의 inline 함수

     

    C++에서의 inline 함수는 함수 호출 대신에 함수 내용을 호출한 곳에 직접 삽입함으로써 실행 속도를 높이는 방법이다. 함수를 inline으로 선언하면 컴파일러는 함수 호출 대신 함수 내용을 호출한 곳에 삽입한다. 이렇게 하면 함수 호출의 오버헤드가 없어지므로 실행 속도를 높일 수 있다.

     


     

     

    언리얼엔진의 FORCEINLINE 함수 

     

    언리얼엔진에서의 FORCEINLINE은 C++의 inline과 거의 비슷하지만 더욱 강력한 인라인 함수이다. FORCEINLINE은 컴파일러에게 이 함수를 반드시 인라인으로 처리하도록 요청한다.

     

     

    FORCEINLINE을 사용하면 인라인 함수로 선언된 코드가 매번 복사되어 컴파일된다.
    이것은 코드의 크기가 증가하더라도 실행 속도를 높일 수 있다는 장점이 있다.

     

     

    또한 언리얼엔진에서 FORCEINLINE을 사용하면 코드가 더욱 최적화되어 CPU 캐시에서 더욱 빠르게 실행된다. 하지만 FORCEINLINE은 코드의 크기를 더욱 증가시키므로, 잘못 사용하면 코드의 크기가 커지고, 따라서 실행 속도가 느려질 수도 있다. 따라서 FORCEINLINE을 사용할 때에는 신중하게 선택해야 한다.