Did you try updating your graphics driver?
We’re sorry, we know that sounds like a lame technical support response, but it’s also the last step you’re responsible for. As the TerraLens team has learned from experience, working with GPUs is never one-size fits all, and a determined effort is required to maintain a high-performance SDK across a broad range of systems.
Just as you’re putting your application code through profiling to identify and resolve bottlenecks, so are the TerraLens SDK developers. And the GPU manufacturers are trying to squeeze out more and more performance from their end too, and balance it with the quality of the graphic visualizations. So there are a lot of moving parts in developing a reliable, performant OpenGL based SDK that can run on a range of desktop and embedded systems.
Sometimes, what works as an optimization on one graphics card, turns out to be a performance killer on another. The support for extensions and deprecated functions can vary between graphics drivers, meaning it’s a constantly moving target to maintain and expand an SDK’s functionality while ensuring existing customers are still supported.
The problem for a lot of ruggedized and embedded systems is they’re working with low-power, custom hardware with integrated GPUs. For these systems, the driver support may not be at the same level as a gaming-type desktop system.
To address this, TerraLens code changes are regularly run through tests on a range of hardware, operating systems, and GPUs. We run benchmarks on different GPUs to compare performance. We maintain a testbed that includes hardware at both the older/ lower end as well as modern powerful systems, ensuring our product is supporting our existing long-term customers even as we add new features leveraging the newer GPU capabilities. We even incorporate some customer specific systems into the test suite, to ensure we can maintain proper support and see what they’re seeing.