SDCC + optimización: en busca de los 50 fps
- ronaldo
- Forum Addict
- Mensajes: 358
- Registrado: Sab 14 Sep , 2013 9:31 pm
- Ubicación: Alicante
- Contactar:
Re: SDCC + optimización: en busca de los 50 fps
Pues imagino que es una combinación del tipo de PC que estés usando + tiempo adicional si usas Cygwin (y algo más si es Cygwin32) + las opciones de compilación bestia que añaden mucho tiempo a la compilación. Aún así, 80 minutos me parece muy salvaje. Lo más que he llegado yo a tardar compilando un proyecto son 20 o 30 minutos, metiéndole optimización a tope. Pero claro, depende mucho del código que tenga que generar y de cómo esté programado. Por ejemplo, el hecho de que haya quitado una matriz inicializada localmente por otra inicializada global le debe haber ahorrado mucho tiempo de compilación, ya que el código de inicialización desaparece.
- AmstradGamer
- Forero habitual
- Mensajes: 189
- Registrado: Dom 08 Jun , 2014 10:08 am
Re: SDCC + optimización: en busca de los 50 fps
Tengo un trozo de código, del cual no estoy orgulloso, que creo que es el origen de consumir tanto tiempo compilando.
Son un montón de "IFs", con un montón de "ORs". Se debe dejar la piel el optimizador calculando rutas de ejecución en función de los condicionales.
Si tengo tiempo o se me ocurre una solución mejor, lo resolveré, aunque ya he comentado que el tiempo de compilación no me importa demasiado ya que sin optimizaciones es infinitamente más rápido y ese código está funcionando bien al fin y al cabo y a pesar de todo no supone una ralentización del juego en tiempo de ejecución, que es lo que me sí me preocuparía.
Otra ventaja de ese código es muy sencillo entender qué hace. En el fondo no está tan mal.
Un saludo.
Son un montón de "IFs", con un montón de "ORs". Se debe dejar la piel el optimizador calculando rutas de ejecución en función de los condicionales.
Si tengo tiempo o se me ocurre una solución mejor, lo resolveré, aunque ya he comentado que el tiempo de compilación no me importa demasiado ya que sin optimizaciones es infinitamente más rápido y ese código está funcionando bien al fin y al cabo y a pesar de todo no supone una ralentización del juego en tiempo de ejecución, que es lo que me sí me preocuparía.
Otra ventaja de ese código es muy sencillo entender qué hace. En el fondo no está tan mal.
Un saludo.
- ronaldo
- Forum Addict
- Mensajes: 358
- Registrado: Sab 14 Sep , 2013 9:31 pm
- Ubicación: Alicante
- Contactar:
Re: SDCC + optimización: en busca de los 50 fps
Se me olvidaba comentar esto: uno de los motivos principales que hacen a SDCC un compilador lento es que no es multihilo ni multiproceso. Cuando tiene que compilar lo hace secuencialmente utilizando un único núcleo. Esto reduce mucho el rendimiento, ya que la tendencia en procesadores es a hacer núcleos ligeros y más núcleos.
Entreteniéndose un poco, se podría forzar a compilar en paralelo varios ficheros lanzando las compilaciones por separado. Con eso se aceleraría bastante la compilación.
Entreteniéndose un poco, se podría forzar a compilar en paralelo varios ficheros lanzando las compilaciones por separado. Con eso se aceleraría bastante la compilación.
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro
La Comunidad Española |