1부에 이어 계속해서 Fusion에 내용에 대해 설명 드리겠습니다.
🙋 네트워크 대역폭, RTT 또는 지연을 확인하려면 어떻게 해야 하나요?
(나중에 온라인 접속 비용을 계산 및 평가하기 위해서요. 또는 기본적인 무료 데이터를 실수로 초과하지 않도록 접속 시에 초당 전송되는 데이터 양을 알고 싶어요...)
🙆알겠습니다. 아래와 같이 진행해 주세요.
- Fusion 메뉴에서 Windows -> RunnerVisibility Controls를 선택합니다.
- Unity Editor에서 Play 모드로 들어갑니다.
- Runner Visibility Controls 창이 뜨면 호스트/클라이언트 이름이 나오는데 <<Stats 또는 Stats>> 아이콘을 누르면 게임 화면에 Fusion Stats가 나타납니다. .
클라이언트 A 와 호스트 네트워크/시뮬레이션 통계 등, 여러 통계를 동시에 표시할 수 있습니다.
Fusion Stats는 프레임 업데이트 시간, 상태 시뮬레이션 수, RTT 값, 송수신된 패킷 사이즈, 네트워크 오브젝트 이름, 롤백 시뮬레이션 수, 네트워크 데이터 스냅샷 사이즈 등 연결 및 프로그램 흐름에 대한 많은 통계를 제공합니다. 또한 인스펙터에서는 통계 데이터 또는 표시 위치, 데이터 업데이트 빈도를 선택할 수 있습니다.
일부 필드에는 클라이언트의 데이터만 포함되고, 일부 필드에는 서버/호스트 데이터만 포함되어 있기 때문에 사용하지 않는 항목을 닫아 공간을 절약할 수도 있습니다.
예를 들어 일부 렌더 패턴/크기/모양 등을 수정하여 자신의 프로그램에서 확장하여 사용하려는 경우 직접 수정 또는 상속을 위해 FusionGraph.cs를 참조할 수 있습니다.
🙋 각 오브젝트의 인터넷 사용량에 대한 참고자 있나요?
(예를 들어, 게임 오브젝트가 사용하는 대역폭 또는 초당 전송되는 바이트와 패키지 개수를 알고 싶어요. 그래야 각 네트워크 오브젝트가 보내는 데이터 양을 최적화할 수 있어요~)
🙆네, 다음 순서를 참고하세요 :
- 관찰하려는 게임 오브젝트/Prefab을 선택합니다(NetworkObject를 포함해야 함).
- Fusion 메뉴에서 Add Fusion Stats를 선택하여 Fusion Stats 컴포넌트를 게임 오브젝트/Prefab에 추가합니다.
그후 네트워크 오브젝트의 통계를 확인하려면 Unity Editor에서 Play 모드로 들어가거나 앱을 빌드하여 실행하면 됩니다. 다음과 같이 네트워크 오브젝트에만 속하는 개별 통계를 볼 수 있습니다.
개별 웹 오브젝트의 Fusion Stats
FusionStats 필드에 DEBUG DLLONLY라는 텍스트가 표시되어 있는 경우 릴리스 DLL이 현재 사용되어 있어 이 필드에 표시할 네트워크 데이터가 없음을 의미합니다. 이 정보를 보려면 다음을 수행해야 합니다.
Fusion Debug Dll 모드로 전환하면 이 필드에 자세한 네트워크 정보가 표시됩니다.
일부 필드에는 클라이언트 데이터만 있고 클라이언트 씬 오브젝트에 표시될수 있지만 호스트 씬 오브젝트에 CLIENT ONLY 프롬프트 텍스트가 표시됩니다. 필요하지 않은 경우 공간을 절약하기 위해 인스펙터에서 비활성화 할 수 있습니다.
이하 버전은 SDK 0.13.0Nightly405에서부터 제공됩니다.
SDK 0 . 13 . 0 Nightly 405 의 FusionStats 기능
Fusion Stats는 개별 오브젝트의 네트워크 트래픽뿐만 아니라 RPC/버퍼 통계, RTT 이력 통계, 송수신된 데이터 양, 상태 역추적과 시뮬레이션 등과 같은 GameObject/NetworkObject와 관련된 수십 개의 Net/Obj/Sim 통계를 제공합니다. 시간, 상태 스냅샷 데이터 사이즈, 데이터 컬러링 트윈 등이 있습니다.
그리고 이러한 파라미터 항목은 표시 여부를 자유롭게 선택할 수 있고 화면상 메시지 바 위치를 조정 및 통계 표시를 언제든지 닫을 수 있으며 통계 업데이트를 일시 정지하거나 과거 데이터를 지울 수 있습니다.
요약
상기 내용은 개발자가 개발 및 테스트를 수행할 때 자주 접하는 실제 상황입니다. Fusion SDK에 내장된 자체 개발 지원 도구를 사용하여 어떤 개발 환경에서도 디버깅 또는 최적화할 때 매우 효율적으로 처리할 수 있습니다
예를 들어:
🎯 필요한 에러 로그 프롬프트로부터 풍부하고 상세한 정보 로그까지.
🎯 단일 피어 측 실행 테스트와 여러 피어 측 실행 테스트가 동시에 가능.
🎯 글로벌 네트워크 통계는 한 눈에 볼 수 있으며 개별 네트워크 오브젝트의 상세한 통계.
현재 어떤 문제가 발생했는지, 어떤 부분을 리팩토링(최적화)해야 하는지를 현명하게 판단하고 문제 해결의 방향이 있거나 프로젝트의 네트워크 성능을 보다 안정적으로 만들기 위한 분석 가능한 데이터가 있으면, 상대적으로 빠르고 전체 프로그램이 더 원활하게 실행되는데 도움이 됩니다.
댓글
댓글 0개
댓글을 남기려면 로그인하세요.