Technik Welt tracking-Leistung wird beeinflusst durch die Ressourcen-Einschränkungen

Während der Ausführung einer ARKit Sitzung mit Welt-tracking aktiviert ist, wird der Xcode-Konsole zeigt log-Meldungen, die über (ich vermute: reduziert) tracking-Leistung, obwohl

  • in der AR-Sitzung im Normalen tracking-Zustand,

  • Ich bin mit dem Gerät in einem gut beleuchteten Raum mit viel "features" zu erkennen, und

  • Das Gerät bewegt sich nur subtil.

TLDR: ich möchte verstehen, was Sie verursacht, welche Auswirkungen Sie haben und wie Sie Sie vermeiden, oder (re -) agieren auf Sie, wenn Sie nicht auftreten—NB. nicht einfach verstecken Sie den Fehler.

[Technique] World tracking performance is being affected by resource constraints [0]
[Technique] World tracking performance is being affected by resource constraints [1]

Die Console-app zeigt, dass diese sind die kommenden aus der Bibliothek ARKit und fallen in den logging-Kategorie Technik.
Obwohl Sie klingen wie Warnungen, die Konsole app zeigt Ihre Art, wie Fehler.

Als erwartet, während mit Hilfe Welt verfolgen, die Konsole app zeigt eine Menge von CoreMotion logs um die Zeit der Fehler, aber diese Zeilen scheinen nicht zu enthalten Fehler, Warnungen oder andere info, die mir hilft, zu diagnostizieren, was Los ist.

Moment ist der Fehler in der log gibt es keine Delegierten Rückrufe, aber mit der Zeit (irgendwas zwischen 5 Sekunden oder 50 Sekunden) der Bildschirm friert ein, mit der callback-Sitzung fehlgeschlagen:

Error Domain=com.apple.arkit.error Code=200 "World tracking failed." UserInfo={NSLocalizedDescription=World tracking failed., NSLocalizedFailureReason=World tracking cannot determine the device's position.}

Den ARKit Quelle/Dokumentation bietet keine Hinweise auf das, was "resource constraints" möglicherweise verursacht die Unfähigkeit zu bestimmen Sie die position des Geräts, der es gerade liest:

Welt-tracking hat einen schwerwiegenden Fehler aufgetreten.

Ich versucht habe (ohne Erfolg) um die Warnungen zu stoppen angezeigt durch:

  • zurücksetzen der session-tracking: immer noch Fehler,

  • setzt die Sitzung mit der Entfernung aller ARAnchors: immer noch Fehler,

  • deaktivieren Flugzeug-Erkennung (sobald Sie nicht mehr benötigt wird): immer noch Fehler,

Anhalten der AR-Sitzung verstummen die Warnungen (macht Sinn, da es bedeutet, dass das Gerät Stoppt tracking seine Bewegung während der Pause ist), aber bei Wiederaufnahme der Sitzung, die Warnungen zurück.

Wenn die session geschlossen wird und neu zu erstellen (d.h. entlassen VC und neu), zwar nicht mit bewegt die Kamera (oder die Beleuchtung geändert) das problem nicht immer wieder auftreten.

Meine beste Vermutung ist, dass blinkt TL-Lichter sind die Ursache für die tracking-performance-Warnungen, da Apple Erklärung, wie die Welt tracking funktioniert:

... visual-inertial odometrie. Das Verfahren kombiniert Informationen aus dem iOS-Gerät die motion-sensing-hardware mit dem computer-vision-Analyse der Szene sichtbar auf das Gerät die Kamera. ARKit erkennt auffällige Merkmale in der Szene, Bild, tracks, die Unterschiede in den Positionen der diese Funktionen über video-frames, und vergleicht diese Informationen mit motion-sensing-Daten.

(iPhone 6S, iOS 11 beta 4, keine anderen apps im hintergrund laufen)


Fragen:

  • Was ist der Unterschied zwischen [0] und [1]?

  • Was kann die Ursache für diesen Fehler?

  • Welche Auswirkungen auf Sie haben, während die ARSession ist nicht gescheitert (noch)? Ich nehme an, wir werden sehen, "nervös", Modelle wie der Welt-Koordinaten durch den mitgelieferten Rahmen-updates sind nicht korrekt—NB. nach dem zurücksetzen/beenden ARAnchor tracking der Fehler immer noch aufgetreten ist.

  • Werden wir wissen, wenn die AR-Sitzung ist zu Versagen, oder wird es unerwartet sein? (Wieder, die ARSession fehl nicht sofort nach der tracking-Status ändert sich auf "begrenzt")

  • Gibt es eine Möglichkeit, damit umzugehen, z.B. zu befreien, diese genannten "resource constraints"—oder sogar verhindern, dass Sie von dem auftreten überhaupt?

  • Einfach öfters mal mit dem Gerät verbunden, um ein Xcode debug-Sitzung wird sich drastisch verlangsamen, um so mehr über wifi. Probieren Sie die app vom Springboard zwar nicht mit Xcode und sehen, wenn Sie keinen Bildschirm einfrieren Fragen. Sie können dann sogar die Verbindung zu Xcode, starten Sie den Mac-Konsole app, und überprüfen Sie das system.log, um zu sehen, ob diese Fehler protokolliert wurden.
InformationsquelleAutor PDK | 2017-08-04
Schreibe einen Kommentar