Hi folks.
With the announcement of the f5, I've been messing about with idea of utilising that glorious screen.
Those 240x240 pixels, and 64 colours need to be exploited!
With the advent of the "FaceIt" app, I thought I'd recreate the idea in the simulator with my own version.
Simple enough, right?
Well, as 64 colours (RGB222, 6-bit) are represented as 8-bit bitmaps internally - they eat a ton of memory! (well, 20% more)
This might not be an issue with the vivoactive, vivoactive HR - but with the f5s @ 218x218, and the f5/x @ 240x240 - memory quickly becomes a problem.
I can't even load a single 240x240 8-bit image, as the simulator easily hits 57.6kb - and we're outOfMemory.
So, the idea is to split the problem (image) up, render to the frame buffer when needed, free resources, and load the next image when necessary.
During "onUpdate()", I'm actually loading, displaying, and uploading different sections of my image in succession.
Here's a video on my take on the solution;
https://gfycat.com/LiveGreedyEgret
Half way though, I toggle debug, and show you how I'm partially rendering the screen;
So, two questions to the experts:
1. Is this a viable method for displaying full screen, full colour images, or is there a performance penalty with loading resources onUpdate()?
2. How does "FaceIt" do it? Does it use 6-bit images?
It would be a lovely idea if CIQ could support bit-packing a 6-bit image, as 2 bits are lost with the internal 8-bit representation.
Cheers.