Frame rate and stutter
Drops, hitches and inconsistent frame pacing. We profile CPU and GPU on device to find whether it is scripts, physics, rendering or garbage collection, the automatic memory clean-up that can pause a frame.
See the methodology

Delivered during David's Technical Developer role at Jagex, 2017 to 2019.
Bringing an established desktop massively multiplayer online role-playing game (MMORPG) to phones introduced constraints around memory, rendering, input and screen space. David built the mobile heads-up display (HUD), converted more than 40 legacy interfaces and delivered UI-level performance work as part of the mobile team.
That experience informs our performance work today: investigate the real build, understand the device constraints and check that changes preserve the intended player experience.
An unfinished brief is fine. The first conversation helps establish scope.
If your game struggles with frame rate, loading times, memory or thermals, we start with a real build on real hardware. Tell us what you are seeing.
Drops, hitches and inconsistent frame pacing. We profile CPU and GPU on device to find whether it is scripts, physics, rendering or garbage collection, the automatic memory clean-up that can pause a frame.
See the methodologyOut-of-memory crashes on low-end devices, garbage collection spikes and leaks that make the game stutter every few seconds.
Explore mobile developmentDevices getting hot and throttling during longer sessions, and batteries draining faster than players will accept.
Read our open-source toolkitWe establish a baseline, identify the bottleneck and measure the effect of each change. Any trade-offs in visual quality or gameplay are discussed before implementation.
Baseline frames per second (fps), thermal behaviour and memory footprint, captured on real devices rather than the editor.
Diagnose whether the bottleneck is CPU, GPU, physics, rendering or garbage collection.
Targeted fixes to the hot path, the code that runs most often, checked against a before and after comparison.
The same discipline applied to running a full MMORPG on mobile hardware, brought to your project.
Editor profiling helps investigation, but target-device measurements determine player-facing performance. We benchmark current average fps, thermal throttle rate and memory footprint on device, use hardware tools like Xcode Instruments and Snapdragon Profiler, and stress test to trigger crashes and out-of-memory errors deliberately.
With the data in hand we isolate the bottleneck: whether the lag is physics, rendering or script execution, where garbage collection spikes and memory leaks are, and whether the GPU is choked by too many materials or unbatched geometry.
Targeted fixes to the code and assets causing most of the slowdown: rewriting expensive loops, caching component lookups, object pooling, texture compression, baked lighting, simplified shaders, and architecture changes where a project has outgrown its original design.
Every change is verified. Before and after builds are compared to quantify the fps gain, visual regression checks confirm texture and level-of-detail (LOD) changes have not hurt the art, and long-play testing checks sustained performance, heat and battery use.
Performance work delivered by Ocean View Games and its team.
The Challenge: Fit an MMORPG with almost two decades of desktop interface onto mobile hardware.
The Result: David built the mobile HUD and delivered UI-level performance work as a Technical Developer at Jagex. A minimap toggle alone gained around 5fps on a Samsung Galaxy S9.


The Challenge: Keep a server-authoritative Unity MMORPG, where the server decides every outcome, inside an independent studio's infrastructure budget.
The Result: Invitation-only closed alpha stress tests with up to 500 players on a single Amazon Web Services (AWS) EC2 cloud server, and an in-place upgrade to Unity 6.3.


The passes a performance engagement can cover. Which ones matter is decided from the profiling data, not assumed up front.
Systematic identification of rendering bottlenecks, excessive draw calls, overdraw and CPU-heavy scripts using Unity's deep profiling tools.
Eliminating garbage collection spikes, reducing allocations and adding object pooling to stop stutter and crashes on constrained devices.
Tuning Unity's Universal (URP) or High Definition (HDRP) render pipeline, simplifying shaders, cutting overdraw and adding LOD systems for the most visual quality at the least GPU cost.
Profiling thermal footprint, adding adaptive frame rates and reducing expensive per-frame work to keep devices cool during long sessions.
Reproducing and fixing the out-of-memory crashes and native exceptions that hit hardest on low-end devices.
Performance dashboards and automated regression tests so the gains hold as development continues.
Start with a free conversation about the platforms you are targeting and what you are seeing: frame rate, memory, crashes, thermals or loading.
Most engagements begin with a profiling pass on a real build. That alone often tells you whether the problem is a few days of work or a structural one, and the findings are yours either way.
David and Adam stay close to the engineering. David applied this discipline on RuneScape Mobile at Jagex, and we bring the same rigour regardless of project size.
From there the work runs in agreed milestones, with before and after measurements on every change so the gains are visible and provable.
Meet the teamFree resources on Unity performance.
Whether a Unity upgrade is part of what your project needs.
A rough sense of how much accumulated debt is slowing delivery.
Our open-sourced Unity performance monitoring toolkit on GitHub.
When the performance problems are specifically mobile: thermals, battery, Android fragmentation.
Tell us the platforms you are targeting and what you are seeing: frame rate, memory, crashes, thermals, loading or another performance problem.
Discuss your performance issueShare your target devices, frame-rate goals and the slowdowns, memory issues or crashes you're seeing. We'll discuss a focused profiling approach.
Location
London, United Kingdom
Response Time
We typically respond within 1 to 2 business days.
Prefer to talk?
Pick a time that suits you and speak to David directly.