Mysterious crashes using custom geometry on iOS

MolurusMolurus Sander van GennnipNLMember

Dear developers,

Currently we are working on an app that visualizes IFC Models on iOS / iPad. We are using Xamarin and Visual Studio 2015 to do this.

Implementation specifics:

1) We are using the class Urho.iOS.UrhoSurface to display our scene creator implementation. (This UrhoSurface is instantiated only once.)

2) We are using a custom scene creator class which extends Urho.Application. The implementation of the Application class pretty much follows the standard examples for Urho3D that we've found.

3) We use the Geometry class (not subclassed) to create and add geometry objects to the scene. We fill these geometry objects with VertexBuffers and IndexBuffers we create on the basis of geometry data we import from IFC models.

This all seems to work fine in the sense that we can load complete IFC models and display them without problem. When we load subsequent models we clear the geometry objects from the viewport and add the new geometry as desired.

We however run into one problem that we cannot seem to fix in any way:

Regardless of whether we load various different models or just one model which we leave completely untouched in the viewport, the app just terminates after about 5 minutes. We have set the iPad to not lock the device upon idle, nor does this really seem related to the app going idle in any way. (If we load other models meanwhile, the crash also occurs after about the same amount of time.)

I don't think this is related to memory use or memory management, crashes seem untirely unrelated to the kind of model we load or the amount of memory consumed for it.

We're also not getting any kind of feedback from either Xamarin or Visual Studio. The only message we are getting is a mysterious:

"The app has been terminated."

No other diagnostics info of any kind.

Do you have any ideas or pointers to what might be causing this behaviour?

Thanks in advance,

Best regards,

Molurus

Answers

  • MolurusMolurus Sander van Gennnip NLMember

    Update:

    The crashes seem related to CPU usage. In the device log on the iPad I see an entry that tells me this:

    Event: cpu usage
    CPU: 144s cpu time over 172 seconds (84% cpu average),
    exceeding limit of 80% cpu over 180 seconds
    Duration: 171.90s
    Steps: 68

    Which is consistent with the period of time it takes for the app to crash.

    Now here's the problem:

    how do I solve this? Can I solve this?

    Should I pause rendering while there is no user interaction? (And if so: how?)

    Thanks in advance,

    Molurus

Sign In or Register to comment.