Creator Guide
Korean
Korean
  • OVERDARE
    • 🚩OVERDARE 소개
    • 🐤시작하기
      • OVERDARE App
      • OVERDARE Studio
    • 📌운영 정책
      • 커뮤니티 가이드라인
      • UGC 콘텐츠 제작 가이드라인
      • UGC의 외부 활용 가이드라인
      • LOGO 활용 가이드라인
      • 지식 재산권 정책
      • 신고 안내
      • 콘텐츠 제재 이의 신청 안내
      • 크리에이터 정산 정책
      • OVERDARE 수익화 가이드라인
    • 🅰️OVERDARE Glossary
  • MANUAL
    • 🏰스튜디오 메뉴얼
      • 시작하기
        • 스튜디오 인터페이스
        • 월드 템플릿
        • 좌표계
        • 스튜디오 테스트 플레이
        • 월드 퍼블리시
        • Collaboration
      • 에셋 & 리소스 제작
        • 에셋 임포트
        • 애니메이션 에디터
      • 게임 제작
        • 게임 설정
        • 스크립트 에디터
        • 정렬
        • Material Manager
        • Collision Groups
        • Tag Editor
        • 퍼포먼스 가이드
      • Object
        • 파트
        • 모델
        • 카메라
        • 물리
        • 조명
        • Tool
        • VFX
        • Sound
      • 캐릭터
        • 캐릭터 애니메이션
        • Humanoid Description
      • GUI
    • 📝스크립트 메뉴얼
      • 시작하기
        • 스크립트 개요
        • 루아 기초 가이드
        • 코딩 스타일
        • 오브젝트 참조
        • 유니티 개발자용 가이드
      • 이벤트 및 통신
        • 이벤트
        • 서버-클라 통신
        • BindableEvent
        • Value Objects
      • 입력 및 조작
        • 모바일 조작 처리
        • TPS Strafing System
      • 게임 고도화
        • Saving & Loading Data
        • 트윈
        • 모듈 스크립트
      • 디버깅 & 최적화
        • 중단점
        • 스크립트 최적화 실전 가이드
  • 💸수익화
    • Payout Guideline
  • DEVELOPMENT
    • 📚API Reference
      • Enums
        • ActuatorRelativeTo
        • AnimationPriority
        • AspectType
        • AssetTypeVerification
        • BorderMode
        • CameraMode
        • CameraType
        • ContextActionResult
        • CoreGuiType
        • DominantAxis
        • EasingDirection
        • EasingStyle
        • ForceLimitMode
        • HttpCompression
        • HttpContentType
        • HumanoidDisplayDistanceType
        • HumanoidStateType
        • KeyCode
        • Material
        • MaterialPattern
        • NormalId
        • ParticleEmitterShape
        • ParticleEmitterShapeInOut
        • ParticleEmitterShapeStyle
        • ParticleFlipbookLayout
        • ParticleFlipbookMode
        • ParticleOrientation
        • PartType
        • PlaybackState
        • RaycastFilterType
        • RollOffMode
        • RotationType
        • UserInputState
        • UserInputType
        • VelocityConstraintMode
      • DataTypes
        • BlendSpaceSampleSata
        • BrickColor
        • CFrame
        • Color3
        • ColorSequence
        • ColorSequenceKeypoint
        • Content
        • Enum
        • EnumItem
        • NumberRange
        • NumberSequence
        • NumberSequenceKeypoint
        • OverlapParams
        • PhysicalProperties
        • Ray
        • RaycastParams
        • RaycastResult
        • ScriptConnection
        • ScriptSignal
        • TweenInfo
        • Udim
        • Udim2
        • Vector2
        • Vector3
      • Classes
        • Animation
        • AngularVelocity
        • AnimationTrack
        • Animator
        • Atmosphere
        • Attachment
        • Backpack
        • BackpackItem
        • BasePart
        • BaseScript
        • Beam
        • BindableEvent
        • BlendSpace
        • BoolValue
        • Bone
        • Camera
        • CharacterMesh
        • CollectionService
        • Constraint
        • ContextActionService
        • CoreGui
        • DataStore
        • DataModel
        • DataStoreGetOptions
        • DataStoreIncrementOptions
        • DataStoreInfo
        • DataStoreKeyPages
        • DataStoreKeyInfo
        • DataStoreService
        • DataStoreListingPages
        • DataStoreSetOptions
        • FormFactorPart
        • Frame
        • Folder
        • GlobalDataStore
        • GuiBase2d
        • GuiButton
        • GuiObject
        • HttpService
        • Humanoid
        • HumanoidDescription
        • ImageButton
        • ImageLabel
        • InputObject
        • IntValue
        • LayerCollector
        • Instance
        • Light
        • Lighting
        • LinearVelocity
        • LocalScript
        • LuaSourceContainer
        • MaterialService
        • MaterialVariant
        • MeshPart
        • Model
        • ModuleScript
        • Mouse
        • OrderedDataStore
        • Pages
        • Part
        • ParticleEmitter
        • PhysicsService
        • Player
        • PlayerGui
        • Players
        • PlayerScripts
        • PointLight
        • PVInstance
        • ReplicatedStorage
        • RemoteEvent
        • ScreenGui
        • RunService
        • Script
        • ServerStorage
        • ServiceProvider
        • Skeleton
        • ServerScriptService
        • Sound
        • SoundService
        • SoundGroup
        • SpotLight
        • SpawnLocation
        • StarterCharacterScripts
        • StarterPack
        • StarterGui
        • StarterPlayer
        • StarterPlayerScripts
        • StringValue
        • SurfaceGui
        • SurfaceGuiBase
        • Team
        • Teams
        • TextLabel
        • TextButton
        • Tool
        • Trail
        • Tween
        • TweenService
        • TweenBase
        • UIAspectRatioConstraint
        • UserGameSettings
        • UserInputService
        • UserSettings
        • VectorForce
        • Workspace
        • WrapLayer
        • WorldRoot
        • WrapTarget
  • UPDATE
    • 📰Release Note
Powered by GitBook
On this page
  • 개요
  • 사용 방법
  • 주의 사항
  • 활용 예시
  1. MANUAL
  2. 스튜디오 메뉴얼
  3. 게임 제작

퍼포먼스 가이드

PreviousTag EditorNextObject

Last updated 7 days ago

개요

퍼포먼스 가이드 기능을 통해 FPS, Draw Call, 메모리 사용량 등 게임 성능과 관련된 주요 지표를 스튜디오 내에서 실시간으로 확인할 수 있습니다. 이를 통해 크리에이터는 게임 내 프레임 드랍, 렌더링 지연 등 성능 저하 요소를 사전에 파악하고 최적화 작업을 효과적으로 수행할 수 있고, 궁극적으로 전반적인 안정성을 확보하여 사용자에게 보다 부드럽고 쾌적한 게임 플레이 경험을 제공할 수 있습니다.

사용 방법

퍼포먼스 가이드는 OVERDARE Studio 최상단 탭 영역에서 Play탭을 선택하면 출력되는 Stat 버튼을 클릭해서 표시할 수 있습니다.

퍼포먼스 가이드는 스튜디오의 뷰포트 화면에 출력되며, 테스트 플레이 실행 중 각 성능 지표의 변화를 실시간으로 확인할 수 있습니다. 이를 통해 플레이어의 위치 이동, 오브젝트 생성, 이펙트 발동 등 다양한 게임 상황에서의 성능 변화를 직관적으로 파악하고, 상황별 최적화 작업에 활용할 수 있습니다.

항목
설명
권장 수치

FPS (Frames Per Second)

초당 화면에 그려지는 프레임 수. 높을수록 부드러운 화면을 제공함.

30 이상

CPU Usage

CPU의 사용 비율. 높을 경우 다른 프로세스에 영향을 줄 수 있음.

70% 이하

GPU Usage

GPU의 사용 비율. 렌더링 및 그래픽 처리에 영향을 줌.

85% 이하

Memory Usage

전체 메모리 사용량. 메모리 초과 시 게임 충돌 또는 성능 저하 유발 가능.

3GB 이하

Texture Memory

텍스처 데이터에 사용되는 메모리 용량. 너무 많을 경우 GPU 과부하 발생 가능.

150MB 이하

Texture Count

사용 중인 텍스처 개수. 텍스처가 많을수록 메모리 및 렌더링 부담 증가.

200개 이하

Mesh Tri Count

화면에 그려지는 메시의 삼각형 수. 너무 많을 경우 렌더링 속도 저하.

30만개 이하

Draw Calls

렌더링을 위해 CPU에서 GPU로 보내는 명령 수. 수치가 높을수록 성능 저하 위험.

200 이하

Network

네트워크 트래픽 및 지연 시간. 통신 응답성에 큰 영향을 줌.

20KB/s 미만, 80ms 미만

주의 사항

  • 스튜디오 자체에서 사용하는 리소스가 측정에 포함되어, 실제 모바일 기기에서의 성능과 차이가 발생할 수 있습니다. (특히 메모리 사용량이나 렌더링 성능 지표는 모바일 환경보다 높게 나타날 수 있습니다.)

  • 멀티 테스트 플레이 기능을 사용할 경우, CPU, 메모리, 네트워크 사용량 등 성능 지표가 단일 플레이 대비 높게 측정될 수 있습니다. (이는 실제 다인 플레이 환경을 시뮬레이션하는 데 유용하지만, 단일 클라이언트 성능과는 구분해서 해석해야 합니다.)

  • 뷰포트 해상도 설정에 따라 GPU 사용량 및 FPS 수치에 영향을 줄 수 있습니다.

  • 스튜디오가 실행되는 PC의 다른 백그라운드 프로그램에 의해서도 성능 수치가 달라질 수 있으므로 테스트 환경을 가능한 한 통제된 상태로 유지하는 것이 좋습니다.

활용 예시

  • FPS를 안정적으로 유지할 수 있도록 점검하고, 특정 구간에서 프레임 드랍이 발생할 경우 해당 위치의 연산, 이펙트, 스크립트 등을 점검해 최적화합니다.

  • CPU와 GPU 사용량이 일정 수준으로 유지되도록 체크하고, 특정 상황에서 급등하는 경우 해당 시점의 연산량, 병목 지점을 파악하여 처리 로직을 개선합니다.

  • 장시간 테스트 플레이 중 메모리 사용량이 지속적으로 증가하는지 확인하여, 메모리 누수나 불필요한 오브젝트의 지속적인 유지 여부를 점검하고, 정리 루틴(예: Destroy(), 참조 변수 nil 할당)을 삽입해 안정화합니다.

  • 텍스처 사용량이 과도할 경우 GPU 과부하나 로딩 지연을 유발할 수 있으므로, 고해상도 텍스처를 필요한 범위 내에서만 사용하고, 에셋의 해상도 조정을 통해 최적화합니다.

  • 캐릭터 또는 환경의 메시 트라이 수가 많을 경우 GPU 렌더링 부담이 커지므로, 필요 이상으로 복잡한 메시를 단순화하여 퍼포먼스를 확보합니다.

  • 드로우콜이 지나치게 많으면 CPU→GPU 간 호출 비용이 증가하므로, 오브젝트 배치를 합치거나, 머터리얼과 셰이더를 통일하는 방식으로 드로우콜을 최소화할 수 있습니다.

  • 네트워크 트래픽이 짧은 시간 내 급증하면 서버 처리 지연이나 지연시간 상승의 원인이 될 수 있으므로, 과도한 패킷 전송을 유발하는 이벤트(예: 반복 업데이트, 고빈도 위치 전송 등)를 제어하고, 필요 시 전송 주기를 조정하여 트래픽을 최적화합니다.

🏰