Уничтожение целей в области территории задержкаC#

Место общения программистов C#
Ответить
Anonymous
 Уничтожение целей в области территории задержка

Сообщение Anonymous »

При использовании целевых областей в Vuforia мы видим лаги всякий раз, когда мы уничтожаем его.
LAG можно проследить от Observerbehaviour.Ondisable до нативного призыв к vuobserver.vuobserverdeactivate .
Соответствующий код:





PrettyPrint-Override ">AreaTargetBehaviour at = ...;
Destroy(at.gameObject);
< /code>
Unity Profiler показывает более 300 мс для этого вызова Вот почему мы экспериментировали с использованием отражения, чтобы вручную вызовать логику очистки и запустить ее в задаче: < /p>
var task = Task.Run(() =>
{
var obs = typeof(AreaTargetBehaviour)
.GetField("mObserver", BindingFlags.Instance | BindingFlags.NonPublic)
?.GetValue(Behaviour);

obs?.GetType()
.GetMethod("DoDeactivate", BindingFlags.Instance | BindingFlags.NonPublic)
?.Invoke(obs, null);
});

yield return new WaitUntil(() => task.IsCompleted)
< /code>
Но это только немного помогло, теперь логика действительно выполняется в «фоновой работе». Однако для завершения требуется два кадра, и выполнение все еще отстает от приложения. Также мы бы предпочли не использовать отражение, если это возможно. Устройства.

Есть ли в Vuforia какое -либо способ уничтожить цели площади на заднем плане, не подвергаясь этому штрафу с задержкой?


Подробнее здесь: https://stackoverflow.com/questions/797 ... s-is-laggy
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»