Performance Anxiety: Building Lag-free Interactive Experiences
No surprise, we’re often asked by prospects for PC recommendations. This is not an easy question to answer.
Of course, we have our minimum recommended technical specifications but the operative word is “minimum”. With minimum resources, our interactive experiences don’t necessarily flourish, they just survive. This is also quite dependent on the content of an experience. A few images, a few buttons, a few spaces? Probably fine. 10 simultaneously running videos on a 3x3 display wall? Forget about it.
General guidelines exist but they’re not unique to IntuiFace; any graphic-intensive software-based solution would have the same recommendations. Use a solid state drive. Find a fast CPU. Use an independent GPU. Increase RAM to reduce/eliminate paging.Really though, and I say this with all seriousness, get the best PC you can afford. We all have budgets and skies are rarely the limit but don’t skimp on the body or the brain won’t be able to flex its mental muscle. Audiences don’t forgive poor performance, they reject it.Meanwhile, you can be sure we think about performance as well. The goal is both resource sensitivity and algorithmic optimization.
A good example of the former is a capability we introduced a few months ago where IntuiFace dynamically downsizes images in memory when their display size is smaller than their actual size. A 1920x1080 Full HD image requires 4x1920x1080 bytes of memory. If the experience design only uses this image at a dimension of 192x108, IntuiFace is smart enough to only use 4x192x108 bytes of storage for it. As you resize the image in Play Mode, IntuIFace loads more data into memory.
As for algorithmic optimization, just think of this as our endless attempt to make the magic we do under the covers take less and less time. We always have an eye to performance bottlenecks and never believe all slack is out of the system.A final point: even your design should account for performance. In this case it’s about the intuitiveness of your design and the time-to-satisfaction. Even a super speedy experience will fail if your user is lost or tired of waiting for whatever it is they’re waiting for.Demand good performance of every contributor to your project.