Probar conversi´on word

Boletín de Realidad Virtual DVRV 2021-001

Reporte de recomendaciones para evitar el calentamiento de dispositivos con apps de realidad aumentada

Fecha liberación: 

18/08/2021

Fuente: 

https://library.vuforia.com/articles/Solution/Framerate-Optimization-for-Mixed-Reality-Apps.html

Categoría: 

Metodologías de programación 3D

Herramientas de desarrollo asociadas:

Vuforia, Unity

Recomendaciones de configuración para la optimización de desempeño y framerate de aplicaciones de realidad aumentada evitando el calentamiento de los dispositivos

Situación

Durante el desarrollo de la aplicación MundoTlatilca CCVN, la cual es demandante en cálculo de render y número de cuadros generados al tratarse de un app que utiliza algoritmos de reconocimiento de planos para situar los objetos colocados sobre la realidad, se notó calentamiento en los celulares de menos prestaciones, por lo que se buscó soluciones para evitar el problema.

Redacción de la solución

Se implementaron las recomendaciones del sitio de Vuforia, las cuales abarcan configuración tanto en Unity como en Vuforia, de la optimización del render y el número de cuadros generados para aplicaciones de realidad aumentada y mixta que exigen requerimientos altos en cálculo de render y frame rate .

Configuración del desempeño y frame rate en Vuforia

  1. Utilizar la bandera de MODE_OPTIMIZE_SPEED en lugar de la de default MODE_DEFAULT
  2. Dentro de el API de Vuforia utilizar los métodos de  getRecommendedFps  y  setTargetFps para obtener y ajustar el framerate acorde a los requerimientos de la aplicación. Estas llamadas deben realizarse al inicializar la app, Algunas configuraciones recomendadas las listan el siguiente cuadro:
Eyewear/Mobile Device Target Render
FPS
Hints to use in
getRecommendedFps(hints);
HoloLens 60 FAST
Mobile Device 30 POWER_EFFICIENCY
Mobile Device 30
(60 on some iOS devices)
NONE
Mobile Device 60 FAST

Configuración del desempeño en Unity

La configuración de desempeño se encuentra en la configuración de Vuforia dentro de Unity en la ventana de Inspector Window of ARCamera. Dentro de ella localizar y seleccionar de las opciones de Camara Device Mode el modo adecuado a la aplicación.

Configurando el framerate en Unity

El siguiente código obtiene información de Vuforia sobre el framerate recomendado y lo define usando el API de Unity con Application.targetFrameRate :

private void OnVuforiaStarted()

{

// Query Vuforia for recommended frame rate and set it in Unity

int targetFps = VuforiaRenderer.Instance.GetRecommendedFps(VuforiaRenderer.FpsHint.NONE);

// By default, we use Application.targetFrameRate to set the recommended frame rate.

// If developers use vsync in their quality settings, they should also set their

// QualitySettings.vSyncCount according to the value returned above.

// e.g: If targetFPS > 50 –> vSyncCount = 1; else vSyncCount = 2;

if (Application.targetFrameRate != targetFps)

{

Debug.Log(“Setting frame rate to ” + targetFps + “fps”);

Application.targetFrameRate = targetFps;

}

}

Observación importante:

Además tomar en cuenta las recomendaciones que hace la compañía acerca de este tipo de aplicaciones ejecutadas en dispositivos móviles no recientes, en la página https://library.vuforia.com/articles/Training/vuforia-fusion-article.html en la sección de Older Devices and Overheating, adonde recomiendan para dispositivos antiguos, aunque tengan el soporte, limitarlos a experiencias muy cortas para evitar los problemas de calentamiento.

  • Ma. Del Carmen Ramos Nava (cramos at unam dot mx )
  • Jose Martín (androidgliese581c at gmail dot com )
  • Tayde Martín Cruz Lovera (tayde.martin at gmail dot com)
  • José Larios Delgado (jlarios at unam dot mx )

Departamento de Visualización y Realidad Virtual

dvrv at unam.mx

ixtli at unam.mx

https://dvrv.unam.mx

Bienvenidos


Tel: 56 22 88 77