Mysterious crashes using custom geometry on iOS

MolurusMolurus NLMember

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,



  • MolurusMolurus NLMember


    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,


  • MolurusMolurus NLMember
    edited November 2017

    @EgorBo you may find this interesting, I was adviced to ping you.

    We've finally solved our problem, or at least found a workaround. See the thread here:

    <hmm, I'm not allowed to post a link to the relevant topic on the discourse urho3d forum>

    Long story short: we've eliminated the crashing behaviour by grouping the same geometry into fewer Urho.Model objects. (Same number of vertices and indices, but 11 Urho.Model objects instead of 1864.)

    We're not exactly sure yet where the breaking point is. We need to be able to select objects in the viewport, but I think we can manage (for now) as long as we know what to group and what not. It would be nice if this could be fixed though.

    The question now is: is this caused by core Urho3D or by UrhoSharp?

Sign In or Register to comment.