공부중
[UE] 언리얼 엔진에서 http를 통해 파일을 다운로드 받을 때 속도가 느린 문제 본문
언리얼 프로젝트에서 http를 통해서 조금 큰 파일(약1GB)을 다운로드 받게되는 상황이 있었는데 속도가 느려도 너무 느린 문제가 발생했다.
일단 테스트한 코드는 아래에서 참고를 했다.
https://ballbot.tistory.com/22
다른점이라면 로그가 아닌 위젯으로 현재상황을 보여준다 정도로 다른것은 없다.
다운받는 영상을 보면...
무려 11분이라는 어마어마한 시간이 걸린다.
(아니 FHttpRequestProgressDelegate에서 int32이라 총 용량이 아래와 다르다.. -_- 일단 속도를 중점으로 보자)
아니 원래 느린거 아닌가? 할수도 있지만..
크롬에서는 약 4분.
curl 명령어를 통해서는 1분 후반대가 나왔다..
이건 뭔가 문제가 있는거라고 생각이 든다.
조금 차이나는것도 아니고 몇배는 차이가 발생하니까.
`Stat HTTPThread` 를 통해서 보면 Sleep에 많이 걸린게 눈으로도 보인다.
뭔가 옵션이 있겠지 하고 찾아본 결과 아래의 링크를 찾을 수 있었다.
[Networking]
UseLibCurl=False
이라던가...
[HTTP.Curl]
BufferSize=524288
등등 버퍼사이즈를 조절하는 방법이 소개 되었지만 내가 선택한 방법은 nullbus라는 유저의 답글이었다.
Http Request의 fetch rate는 FHttpModule에 의해서 제어 되고있고
HttpThreadActiveFrameTimeInSeconds변수가 핵심이며 기본값이 약 0.005(200Hz)인데 이거를 적절하게 조절하면 합리적인 다운로드 속도를 얻을 수 있고 엔진 구성 파일에서 이 값을 제어 할 수 있다.
[HTTP]
HttpThreadActiveFrameTimeInSeconds=0.00001
이 글을 보고 위와같이 DefaultEngin.ini파일의 맨 아래에 추가했다.
결과는 아주 놀라웠고 영상을 통해서 보자.
CallCount가 이전과는 달리 아주 많이 올라가는것이 인상적이다.
걸린시간은 약 1분이고 기본적으로 값이 저렇게 된것이 뭔가 http통해서 큰 파일은 받지 않겠지? 라는것이 대부분이라 저렇게 세팅된거같다는 생각이 든다.
'Programing > UnrealEngine' 카테고리의 다른 글
[UE] Web Browser Plugin 에서 언리얼 함수를, 언리얼에서 웹페이지함수를 호출해보자. (1) | 2023.11.28 |
---|---|
[UE]Web Browser Plugin을 이용해 웹페이지를 띄워보자. (0) | 2023.11.27 |
[UE]외부 프로그램 실행 (0) | 2022.09.25 |
[UE] 디버깅 할때 FString 값을 볼 수 없는 경우 (0) | 2022.09.25 |
[UE]프로젝트 패키지를 하고 나온 exe파일 속성 변경 (0) | 2022.08.29 |