Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





LLVM frontend para Android

Iniciado por Daemon, 22 de Julio de 2013, 02:14:31 PM

« anterior - próximo »

Daemon

Buenas,

¿Alguno de vosotros ha probado LLVM para desarrollar algún juego en Android? ¿Qué tal funciona?
Imagina todo lo que puedes hacer. Despues hazlo.

FANatiko

Nosotros lo estamos evaluando porque es Clang y creo que si vas a escribir mucho C++ es recomendable. iOS ahora mismo usa ese compilador y el análisis estático que hace del código vale bastante la pena si compilas con -Wall y tratas los warnings como errores. Algún que otro posible bug hemos descubierto gracias a los warnings (que además son bastante más legibles que los de GCC)

Daemon

#2
Gracias por tu respuesta FANatiko,

supongo que en vuestra evaluación lo estáis usando para compilar desde C++ a Android con algún tipo de juego o desarrollo. Respecto de esto tengo algunas dudas:

1. ¿Qué frontend utilizáis para realizar la compilación?
2. ¿Qué bibliotecas estáis empleando para soporte de gráficos/sonido/3D/etc...?
3. ¿Qué tal el rendimiento?
4. ¿Cuales son las principales dificultades que os habéis encontrado hasta el momento (p.e. cosas que no funcionan como deberían o que directamente no funcionan, gestión de memoria, ... )?
Imagina todo lo que puedes hacer. Despues hazlo.

FANatiko

1. Nosotros tenemos nuestro propio sistema tipo "make" y llamamos directamente al compilador. En Android todavía estamos probando el clang (solo lo usamos en Xcode de momento) y no le hemos dedicado mucho tiempo. Los binarios que trae el NDK son para usarlos desde el "cygwin" y "no nos sirven". Si hemos compilado nuestro juego con un llvm-arm compilado para Windows, pero aun no lo hemos llegado a meter en el movil (entre entregas y vacaciones tenemos el tiempo de I+D bajo mínimos).

2. En el curro tenemos un motor propio y no usamos casi nada de terceros.

3. No te puedo dar numeros concretos en Android, pero en iOS lo usamos desde hace tiempo y no hemos experimentado una penalización de rendimiento (la primera vez que lo probamos en iOS) creo recordar que era más lento. De todas formas, clang va a ser el estandar para iOS y las nuevas carácteristicas de ObjC (como ARC) solo estan para LLVM.

4. Pues el mayor problema de cambiar de compilador es que como C++ tiene un estandar tan poco estricto, suelen salir errores de compilacion debajo de las piedras. En nuestro caso, como compilamos iOS con clang no había tanto problema (y eso que nuestra base de codigo es grande). En cualquier caso, es un precio que vale la pena pagar por el análisis estático.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.