1、Scope Hitman&G2 Internal port Live updates-Elusive Targets Older branch of G2 No content changes No geometry streaming system Aspire to have low maintenance costMobile Platforms Smartphones&Tablets System on Chip(SoC)design Unified Memory 3-6W Power Budget Peak performance is not sustainable RAM Acc
2、ess is energy intensiveo1W=150-200MB 60fpsGroundwork Game Porting ToolkitoTrying out a Windows-DX12 build on macOS Try to find early failure points oMemory BudgetoUnsupported FeaturesTarget Min Spec oiPhone 15 Pro(A17Pro)o8GB unified memory,6GB usable iOS 18.0-“Metal3oArgument Buffers-Tier 2oResiden
3、cy Sets*Device Capabilitiesoiphone-performance-gaming-tier Entitlements:oincreased-memory-limitosustained-executionRender Thread Main thread deals with gameplay logic and loading Render thread culls and records GPU commandsoReflect step copies necessary data from main thread to render thread Configu
4、rable maximum latency between main and renderoUsed for dealing with main thread spikes Not 1:1 with display framesoRender thread takes over during loading&sometimes doesnt present a frameWhose Main Thread Is It Anyway?Apple APIs are based on event driven model A lot of them can only run on main thre
5、adoRuns an event loop for processing I/O and callbacksoAvoid blocking as much as possible Our main and render threads have their own event loopsoNeeds to do blocking waits for other threads Game runs on its own“main”threadoPolls CFRunLoop to allow system main thread to schedule functionoSchedules an
6、 update function on system main thread every frameAcquiring a Drawable Metal term for back buffer Various options availableonextDrawable,CADisplayLink,CAMetalDisplayLink Threading setup makes things difficult Consistency problemsoExperienced up to 2 ms variabilityoProblematic when GPU downclocks to