Page 1 of 1

Duda sobre rendimiento (no tiene nada que ver con gemix)

PostPosted: Wed Jun 06, 2012 11:42 pm
by negamartin
Imagínate que tengo un computador con 4.0 Ghz, y un programa me consume un 3% de CPU.
En un computador a 400 Mhz consumiría un 30%?

Porque 4.0/10=0.4, osea, 400 Mhz
Y entonces ocuparía un 30%?

Y otra pregunta: Cuantos Mhz tiene un IPhone?

Re: Duda sobre rendimiento (no tiene nada que ver con gemix)

PostPosted: Thu Jun 07, 2012 12:21 am
by erkosone
Hola Negamartin, pues no, no tiene nada que ver y te explico por que.

Un pc a 400 mhz no va a tener una placa base con "dual-channel" para la memoria ram, uno de 4000 mhz si, y uno de menos velocidad pero mas moderno tiene "triple channel", cosa que aumenta exponencialmente el rendimiento.

Y como eso todo, no solo la ram, las nuevas generaciones de procesadores alcanzas menos mhz y trabajan mas eficientemente por que realizan mas operaciones por segundo a menos velocidad devido a las nuevas tecnologías de encandenado de instrucciones en semi partes de un ciclo de cpu.

Sobre el iPhone, en wikipedia viene muy detallado.

Re: Duda sobre rendimiento (no tiene nada que ver con gemix)

PostPosted: Thu Jun 07, 2012 2:50 am
by necro_vampire
No confundan la velocidad del micro (que puede ser interna) con la velocidad de los buses dada por la tasa de refresco de la memoria...

Re: Duda sobre rendimiento (no tiene nada que ver con gemix)

PostPosted: Thu Jun 07, 2012 9:52 am
by erkosone
exacto.

Re: Duda sobre rendimiento (no tiene nada que ver con gemix)

PostPosted: Thu Jun 07, 2012 11:37 pm
by negamartin
Entonces, si en mi computador de 4000 Mhz ocupa un 3%, cuanto ocuparía en un IPhone?

Re: Duda sobre rendimiento (no tiene nada que ver con gemix)

PostPosted: Fri Jun 08, 2012 1:35 am
by erkosone
Yo calculo que.. aviso que me lo voy a inventar en base a los test de performance que he podido hacer por mi mismo, y siempre comparando performance en windows, así que esto no es para nada fiable.. pero me voy a arriesgar..

Porsupuesto cuando salga el port a iOS ya cada cual que haga sus pruebas, pero mi intuición me dice algo así:

Para lograr 30 FPS, olvidate de alcanzar en un smartphone 60 fps.. es hacer el pinga a lo tonto..
480x320x16bpp @ 100 procesos.
960x640x16bpp @ 65 procesos.
480x320x16bpp @ 18/20 procesos.
960x640x32bpp @ 6/9 procesos.

Estoy tirando muy por lo bajo, luego seguramente será bastante mas :P

Claro que esto no es ni fiable ni real, por que ya te estoy diciendo que me lo estoy inventando en base a "lo que creo que será.." que como siempre.. seguro que me alegraré de ver que he tirado bajo, pero vaya.. que por si acaso marcate unos límites así y andarás sobre seguro.


Ya aviso que el que avisa no es traidor.. que para programar para un smartphone hay que imponerse una regla de oro, es simple, los objetos o clases tipo "PROCESS" son para lo que son, y no se tienen que usar para cualquier cosa ni dejar 2 procesos en marcha cuando desde 1 solo se puede hacer todo el trabajo, esto es vital para programar de forma eficiente, si esto está mal tu juego no funcionará asegurado.

Por ejemplo:
Un menú con 3 botones..

Según el clásico DIV cualquiera diría.. oye pues create 3 procesos y que.. bla bla bla... y un carajo XD.. eso en un iphone es un suicidio..
Lo que habría que hacer es con draw_graphic() pintar todos los botones y definir una region para cada boton, y "sin comprobar colisión ni overlap" un sencillo bucle que te diga si estás en una region o otra, si estás en una aplicas un blend al draw_grahpic que toca.. y así se remarca el boton..

Cosas así.. olvidate de hacer juegos mierdosos como los que hacemos para windows en un iPhone XD.. eso ya te lo adelanto que no funciona ni en gemix ni en ningún lenguaje. ;)

Re: Duda sobre rendimiento (no tiene nada que ver con gemix)

PostPosted: Sat Jun 09, 2012 6:28 pm
by negamartin
Yo en mi juego estoy con 320x240 a 32bpp, ningún visible a 1, ocupando puro DRAW_GRAPHIC.
Tengo unos 40-50 procesos, la mayoría de tipo "PERS" que son NPCs, que lo único que hacen es moverse en dirección random.
También hay un proceso RENDER que tiene 3 FROMs de 1 a 192, para renderizar la pantalla, renderizando 192 gráficos de 20x20.
En total en mi computador de 6000 Mhz me ocupa 0-3% de CPU.

Ahora, lo que quiero, es si eso va a funcionar en un IPhone.

EDIT: Y lo tengo a 20 FPS