Wrong available memory for Enduro (and other models) in simulator?

I wast testing my widget app in simulator and on a real Fenix 6X - everything was fine untill I tried Enduro simulator (which is suppose to be similar to Fenix 6X). To my dismay it failed to start with out of memory error. I noticed that available memory shown for Enduro is 60K.

Enduro:

Glance mode on Enduro and Fenix shows 28M (correctly):

When I run a watch face app Enduro shows 108K memory:

And it is not only Enduro - a whole bunch of other models shows 60K available memory in simulator (like Fenix 6 without Pro for example) when you run a widget.

Picture shows a different app (I had to use a smaller one to show the memory) - the app I was testing doesn't start in Enduro simulator. Same app runs perfectly fine on Fenix 6X and VA4 simulators and real devices. Is this a simulator bug, or there is something different about how Enduro and other models run widgets?

  • The available memory in the simulator for widgets is correct on the Enduro.  You will find the standard F6 has very different memory limits for both widgets and apps than the music enabled devices like the F6pro or VA4.  While the Enduro is similar to the F6X in size and battery, if is more similar to to the standard F6 than the F6X in the amount of available memory for apps and widgets.  You can think of the Enduro as the only  non music enabled version of the F6X, similar to the standard F6 compared to the F6Pro. 

    In summary, the Garmin products, with a few minor exceptions, all non music enabled devices have between 60-65kb for widgets while music enabled devices are typically 500-1024kb for widgets. 

  • That's right. Contrary to what has been said on the forums in the past, the Enduro is essentially a Fenix 6 (non-pro), except it has the screen of a Fenix 6X. (As far as CIQ, and most software/hardware features go.)

    www.dcrainmaker.com/.../garmin-enduro-gps-watch-in-depth-review.html

    Now, I’m going to harp on the fact that this is feature-wise identical to a Fenix 6 base unit, except just with solar, a bigger battery, and a nylon strap

  • Thanks! Why there is such a big difference between memory for Watch Face apps and Widgets? Just trying to undestand the reason for this limitation...

  • On the Music devices it makes sense why there is so much available memory because of music playback apps.  Why so little on the non-music devices? Only Garmin knows the reason why such a big difference.  We are just developers that have to live within the limits of the devices we try to support.  Grin

  • Spot on observation about Music editions. The app runs in Venu SQ Music simulator, but not in Venu SQ !

  • Why there is such a big difference between memory for Watch Face apps and Widgets? Just trying to undestand the reason for this limitation...

    I don't know if there's any rhyme or reason (that we can figure out).

    For example, for 245:

    widget = 65536

    glance = 32768

    watchface = 98304

    Notice widget + glance = watchface. But I think that's a coincidence (see below). It also doesn't explain why the 245 also has 131072 bytes of available memory for a watch app.

    645 doesn't support glances, but it has the same limits as 245 for widgets, watchfaces and watch apps.

    And for 235 (which doesn't support glances, and is a generation older), watch faces, watch apps and widgets all have 65536 bytes of available memory.

    I guess only Garmin knows for sure about the exact reasons for this stuff.

  • Something to note here is for devices starting with CIQ2, the memory you see in devices is 4k more than is available to an app (any kind), so where you see 32k for glances, your code can only use 28k (what you'll see in the sim).  

    So while a widget on Enduro is 64k in the device file, the widget actually has a max of 60k.  The 4k is used by the CIQ VM

  • Available memory is correct in the sim,  But it can vary based on specific target, music vs non music, watch vs edge device.  When looking at memory for a device, 4.x devices have a graphics pool for things like bitmaps and custom fonts.

    if you look at a venu (a 3.x device), watch faces there can be 507k, while on a venu 2 (a 4.x device) there's only 124k for the watch face itself, with the idea being that the memory intense parts are in the graphics pool.

    The best time to plan for these differences is when you're first writing an app - save memory where you can - and also look at jungles as a way to limit/change some things based on a specific target.

  • Available memory is correct in the sim,  But it can vary based on specific target, music vs non music, watch vs edge device.  When looking at memory for a device, 4.x devices have a graphics pool for things like bitmaps and custom fonts.

    if you look at a venu (a 3.x device), watch faces there can be 507k, while on a venu 2 (a 4.x device) there's only 124k for the watch face itself, with the idea being that the memory intense parts are in the graphics pool.

    The best time to plan for these differences is when you're first writing an app - save memory where you can - and also look at jungles as a way to limit/change some things based on a specific target.