iOS Android Mining game
Client performance and crash improvements
GLProfiler, GLSL, GLES
Using profiling tools for both opengl, opengles and implementing custom profilers in the game, we were able to reduce the crash reports and negative reviews due to these problems.
In both RoboVM/MobiVM and android mobile applications, on lower end devices GC is noticeable and causes a bad user experience. It causes the device to use more battery, heat up, and the user can see visible hitches where frametimes can increase dramatically over a short period of time.
To detect these cases, we use profilers to record all allocations that do not have strong references, and isolate the source. Then using techniques of pooling, string buffers, removing concatenation, auto-boxing, and choosing appropriate data structures that are gc free, we can remove almost all allocations when the game is running, and completely eradicate the need for GC to run.
Using GPU profilers and techniques to determine bottlenecks on mobile gles, we can diagnose and identify any source issues. These can involve many and combinations of the key issues:
Using the data we can plan an approach for restructuring rendering pipelines to optimize for the game if required including any asset pipeline changes that also may be required. Reducing oversampling