Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

Map time-out #45

Closed
SiriusA7 opened this issue Feb 17, 2020 · 2 comments
Closed

Map time-out #45

SiriusA7 opened this issue Feb 17, 2020 · 2 comments
Labels
bug Something isn't working

Comments

@SiriusA7
Copy link

SiriusA7 commented Feb 17, 2020

Describe the bug
Testing on the Oculus Quest, everything works mostly fine for the first 20-30 seconds of usage, after which the map stops updating and resolving as new locations are visited. This behavior only happens when viewing 3D map, if 2D map is started from beginning, there are no issues.

To Reproduce
Steps to reproduce the behavior:

  1. open sample project and setup for quest development
  2. Follow advice in iOS / Android support #18 to get 3D maps rendering on the quest.
  3. Build and deploy app to Quest
  4. See map update timeout ~30 seconds into usage

Expected behavior
3D map to continue rendering properly indefinitely for the life-cycle of app usage.

Environment (please complete the following information):

  • Unity version: 2019.2 & 2019.3
  • Maps SDK NuGet Package version: 0.5.1

Additional context
The log at runtime spews out this warning every frame only while 3D maps are displayed in headset and are being rendered properly. But when the map stops updating and resolving, the warning messages each frame also stop.

WARNING: RGB Compressed DXT1 UNorm format is not supported, decompressing texture 'DXT1' is not supported on this platform. Decompressing texture. Use 'SystemInfo.SupportsTextureFormat' C# API to check format support.

Could the log be overloaded by the warnings and trigger a halt somewhere?

@SiriusA7 SiriusA7 added the bug Something isn't working label Feb 17, 2020
@kircher1
Copy link
Contributor

This may actually be an out-of-memory issue. I've seen this behave like the app has locked up before, although typically it simply crashes the application.

We will be addressing memory and GC usage over the next couple of versions so stay tuned for that as it should significantly reduce overall app memory usage and help avoid OOM conditions. In the meantime, you can try lowering the Quality setting to the minimum value. If the app runs longer without locking up, it's almost certainly a memory usage problem.

For the warning message, this is currently expected on Android. We will be bringing support though for platform specific GPU texture formats (like ETC and ASTC) which will remove this warning message and sidestep the additional work Unity is doing to decode this to a larger RGB format. In general, I'm using #18 to track this.

@kircher1
Copy link
Contributor

kircher1 commented May 4, 2020

0.7.0 is out now and will help further reduce memory usage.

If you still run into these OOM-esque lockups, try lowering the maximum cache size to something smaller.

It is possible to query memory limits for an Android application and then compute a cache size for the map based on some smaller factor of that. See here. For setting the cache size programmatically, just be sure it's applied to the MapRenderer component before it has been enabled, as after that, cache size changes won't have an affect.

@kircher1 kircher1 closed this as completed May 4, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants