I'm doing a mobile app that intensively needs to use CPU and memory. For a week, I went on a microoptimizations rush that led to reducing the whole memory usage by 25% and CPU stopped peaking so often. That's good, but in some places the app still feels sluggish, especially in relatively old phones.
After optimizing code as much as I could (following close to every recommendation for this kind of optimizations), my next step focused on graphics. We are using SVG files, and for some reason, if we switch to a PNG file, the memory is drastically reduced, as well the CPU usage on interface generation, which in the end should lead to a faster UI change.
However, when you end up using the app, you barely notice the improvement, while the images look blurry, even if they're done with really sharp edges, and made perfectly for the screen. Also, it's using a process we cannot control to use a higher resolution image or a lower resource, so we've to stick with a one resolution.
As I mentioned, all of these are microoptimizations, meaning that if you just do one, there are no fireworks, but once you keep growing the list of changes and they stack up, the final status should be a good improvement. On the other hand, our designer is not pleased with the change, as he sees that if it's just a microoptimization, we should leave it with vector files.
I recognize myself that the change makes the app itself look poorly ambitious, compared to our previous versions, but since then, we haven't had any other client complaining about battery draining or the app being stale because of memory issues. So, after this.
Is a visually unnoticeable performance improvement a valid excuse to reduce graphics quality?