Lentitud Renderizando

1 view
Skip to first unread message

Daniel Gabana Arellano

unread,
Apr 6, 2010, 8:13:45 AM4/6/10
to espaper...@googlegroups.com
Hola a todos. Me he creado un DAE que importo a PV3D y el cual lo mapeo con la imagen que yo quiero. El problema es que cuando pongo a rotar el objeto,  el player se empieza a quedar y va a trompicones. El renderizado no es del todo fluido. Podeis verlo en el siguiente link:

http://www.nextepvision.com/prueba/test1.html

He ajustado el numero de poligonos del objeto a 1500 y sigue dandome el mismo problema. Puede ser un problema del tamaño de la imagen? No es muy grande, 513 x 457, asique supongo que el problema no viene de ahí.  Estoy usando el BasicRenderEngine, pero alguien me habló del Quadrant, investigué pero creo que lo único que soluciona es el problema con las intersecciones de los vertices a la hora de hacer el culling,no? Por lo tanto creo que no me ayudará demasiado...Alguien sabe por qué puede ser y como poder arreglarlo ??

Por otra parte, me he fijado que la imagen sigue comportandose de manera rara aunque le haya puesto el smooth y precise en true. Parece que el suavizado no se está realizando bien, o por lo menos yo sigo viendo como en alguna parte de la imagen (como en la letra pequeña), sigue haciendo unos pequeños saltos en los pixeles.

Espero que alguien pueda hecharme una mano.

Muchas gracias de antemano!!!

David Bravo

unread,
Apr 6, 2010, 10:00:56 AM4/6/10
to espaper...@googlegroups.com

Y si le metes a la textura una resolución de potencias de 2? Por ejemplo, 512 x 512 para lo que tienes. A mí en una máquina potentilla (i7 con 6GB RAM) también me da tirones así que algo raro tiene que haber ahí…

--
Has recibido este mensaje porque estás suscrito al grupo "ESPapervision3D" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a ESPaper...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a ESPapervision...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/ESPapervision3D?hl=es.

Diego Ponce de León

unread,
Apr 6, 2010, 11:24:04 AM4/6/10
to espaper...@googlegroups.com
¿Vas a dejar el modelo con ese tamaño?
Si es así puedes usar muchos menos polígonos, que no se notará la diferencia.
1500 polis para PV son bastantes...
--
Diego Ponce de León

http://www.xleon.net
http://www.xinterface.net
http://twitter.com/diegoxleon

Daniel Gabana Arellano

unread,
Apr 6, 2010, 4:45:35 PM4/6/10
to espaper...@googlegroups.com
Gracias por contestar.

Intentaré bajarle el numero de poligonos a ver qué tal tira. Supongo que es una de las cosas que tengo que optimizar... Aun así me parece bastante raro, debería tirar mucho mas fluido de lo que lo hace....y solo tengo 2 texturas aplicadas al objeto y, como podeis ver, una de ellas es un color plano...

David, tu crees que una imagen de diferente tamaño afectará a la fluidez de la aplicación ? Supongo que si es una imagen de 1000x2000 si afecta pero en una tan pequeña...no sé....
Daniel Gabana // Nextep
www.nextepvision.com

esedeerre

unread,
Apr 6, 2010, 5:15:51 PM4/6/10
to espaper...@googlegroups.com
Si puedes, pon el stage.quality en Medium.

Las texturas, cuanto mas peque�as mejor, y mejor en m�ltiplos de 8.

El tama�o del viewport, cuanto mas peque�o, mejor. Intenta que no sea
escalable.

Creo que me comentaste que tenias el libro de tondeur, ah� te vienen 10
o 15 cosas que seguro que te ayudan (cap�tulo 13).

Saludos

Daniel

Daniel Gabana Arellano escribi�:
> Gracias por contestar.
>
> Intentar� bajarle el numero de poligonos a ver qu� tal tira. Supongo
> que es una de las cosas que tengo que optimizar... Aun as� me parece
> bastante raro, deber�a tirar mucho mas fluido de lo que lo hace....y

> solo tengo 2 texturas aplicadas al objeto y, como podeis ver, una de
> ellas es un color plano...
>

> David, tu crees que una imagen de diferente tama�o afectar� a la
> fluidez de la aplicaci�n ? Supongo que si es una imagen de 1000x2000
> si afecta pero en una tan peque�a...no s�....
>
>
> El 6 de abril de 2010 17:24, Diego Ponce de Le�n <mala...@gmail.com
> <mailto:mala...@gmail.com>> escribi�:
>
> �Vas a dejar el modelo con ese tama�o?
> Si es as� puedes usar muchos menos pol�gonos, que no se notar� la


> diferencia.
> 1500 polis para PV son bastantes...
>
> El 6 de abril de 2010 11:00, David Bravo
> <dbr...@dimensionmultimedia.com

> <mailto:dbr...@dimensionmultimedia.com>> escribi�:
>
> Y si le metes a la textura una resoluci�n de potencias de 2?
> Por ejemplo, 512 x 512 para lo que tienes. A m� en una m�quina
> potentilla (i7 con 6GB RAM) tambi�n me da tirones as� que algo
> raro tiene que haber ah�
>
>
>
> *De:* espaper...@googlegroups.com
> <mailto:espaper...@googlegroups.com>
> [mailto:espaper...@googlegroups.com
> <mailto:espaper...@googlegroups.com>] *En nombre de
> *Daniel Gabana Arellano
> *Enviado el:* martes, 06 de abril de 2010 14:14
> *Para:* espaper...@googlegroups.com
> <mailto:espaper...@googlegroups.com>
> *Asunto:* [ESPapervision3D - 548] Lentitud Renderizando


>
>
>
> Hola a todos. Me he creado un DAE que importo a PV3D y el cual
> lo mapeo con la imagen que yo quiero. El problema es que
> cuando pongo a rotar el objeto, el player se empieza a quedar
> y va a trompicones. El renderizado no es del todo fluido.
> Podeis verlo en el siguiente link:
>
> http://www.nextepvision.com/prueba/test1.html
>
> He ajustado el numero de poligonos del objeto a 1500 y sigue

> dandome el mismo problema. Puede ser un problema del tama�o de


> la imagen? No es muy grande, 513 x 457, asique supongo que el

> problema no viene de ah�. Estoy usando el BasicRenderEngine,
> pero alguien me habl� del Quadrant, investigu� pero creo que
> lo �nico que soluciona es el problema con las intersecciones


> de los vertices a la hora de hacer el culling,no? Por lo tanto

> creo que no me ayudar� demasiado...Alguien sabe por qu� puede


> ser y como poder arreglarlo ??
>
> Por otra parte, me he fijado que la imagen sigue comportandose
> de manera rara aunque le haya puesto el smooth y precise en

> true. Parece que el suavizado no se est� realizando bien, o


> por lo menos yo sigo viendo como en alguna parte de la imagen

> (como en la letra peque�a), sigue haciendo unos peque�os


> saltos en los pixeles.
>
> Espero que alguien pueda hecharme una mano.
>
> Muchas gracias de antemano!!!
>
> --

> Has recibido este mensaje porque est�s suscrito al grupo


> "ESPapervision3D" de Grupos de Google.

> Para publicar una entrada en este grupo, env�a un correo
> electr�nico a ESPaper...@googlegroups.com
> <mailto:ESPaper...@googlegroups.com>.
> Para anular tu suscripci�n a este grupo, env�a un correo
> electr�nico a ESPapervision...@googlegroups.com
> <mailto:ESPapervision3D%2Bunsu...@googlegroups.com>
> Para tener acceso a m�s opciones, visita el grupo en
> http://groups.google.com/group/ESPapervision3D?hl=es.
>
> --
> Has recibido este mensaje porque est�s suscrito al grupo


> "ESPapervision3D" de Grupos de Google.

> Para publicar una entrada en este grupo, env�a un correo
> electr�nico a ESPaper...@googlegroups.com
> <mailto:ESPaper...@googlegroups.com>.
> Para anular tu suscripci�n a este grupo, env�a un correo
> electr�nico a ESPapervision...@googlegroups.com
> <mailto:ESPapervision3D%2Bunsu...@googlegroups.com>
> Para tener acceso a m�s opciones, visita el grupo en
> http://groups.google.com/group/ESPapervision3D?hl=es.
>
>
>
>
> --
> Diego Ponce de Le�n

> Has recibido este mensaje porque est�s suscrito al grupo


> "ESPapervision3D" de Grupos de Google.

> Para publicar una entrada en este grupo, env�a un correo
> electr�nico a ESPaper...@googlegroups.com
> <mailto:ESPaper...@googlegroups.com>.
> Para anular tu suscripci�n a este grupo, env�a un correo
> electr�nico a ESPapervision...@googlegroups.com
> <mailto:ESPapervision3D%2Bunsu...@googlegroups.com>
> Para tener acceso a m�s opciones, visita el grupo en


> http://groups.google.com/group/ESPapervision3D?hl=es.
>
>
>
>
> --
> Daniel Gabana // Nextep

> www.nextepvision.com <http://www.nextepvision.com>
> --
> Has recibido este mensaje porque est�s suscrito al grupo

> "ESPapervision3D" de Grupos de Google.

> Para publicar una entrada en este grupo, env�a un correo electr�nico a
> ESPaper...@googlegroups.com.
> Para anular tu suscripci�n a este grupo, env�a un correo electr�nico a
> ESPapervision...@googlegroups.com
> Para tener acceso a m�s opciones, visita el grupo en
> http://groups.google.com/group/ESPapervision3D?hl=es.

David Bravo

unread,
Apr 7, 2010, 3:43:15 AM4/7/10
to espaper...@googlegroups.com

Hola:

 

No es tanto el tamaño en memoria o el tamaño del archivo (que en parte sí) sino que una imagen al fin y al cabo debe ser cargada en la memoria de la tarjeta gráfica (descomprimida, o sea que ocupa ancho por alto por profundidad de color), por lo que cuanto más pequeña más ágil cargará y más memoria quedará para otras cosas (aunque con las tarjetas actuales no es mucho problema, en portátiles con “shared memory” la diferencia sí puede ser grande), pero lo importante es que la memoria se distribuye en bloques de potencia de 2, por lo que utilizar las texturas con resoluciones de 2,4,8,16,32,64,128,256,512,1024… es óptimo en muchos sentidos, hasta el punto que con esas resoluciones PaperVision haría smoothing sin coste alguno para el procesador. En mi “época” de desarrollador de videojuegos, hacíamos texturas a tamaños relativamente grandes (1024x1024 para un “muñeco”) y luego las reducíamos con el photoshop a la mitad o a un cuarto, y bueno, había diferencia pero photoshop hacía muy buen trabajo en el “dithering”.

 

Yo lo que probaría (y en ese orden):

-          Quitar el material al objeto y probarlo con un color plano. Si sigue dando tirones ->

-          Puede ser que el objeto tenga demasiados polígonos (ciertamente, para un objeto así de simple le sobran un porrón). O bien lo reduces de polígonos (aunque sea con un mísero “optimize” en Max) o bien cargas otro más sencillo. Si sigue dando tirones->

-          Poner un “debugger visual” que te indique número de polígonos, fps, etc. Si da valores “raros” ->

-          Algo pasa con el código o algún intervalo o evento o algo raro, probar con un ejemplo más sencillo ya hecho.

-           

Hay veces que te puedes llevar sorpresas como que el objeto tenga muchos más vértices de los que hay, o que el material está aplicado “two-sided” o alguna cosa que se te ha pasado por alto. Seguro que encuentras lo que está pasando y verás que es una chorrada… J

 

Ya nos contarás…

Diego Ponce de León

unread,
Apr 7, 2010, 2:30:02 PM4/7/10
to espaper...@googlegroups.com
La textura en este caso no es. Yo hice una aplicación que cargaba como 50 texturas de ese tamaño (más o menos) al mismo tiempo, y no me daba ni un tirón. Estoy seguro que es el número de polígonos.

OctAg0nO

unread,
Apr 7, 2010, 3:35:09 PM4/7/10
to ESPapervision3D
no creo ke sean necesario 1500 poligonos para ese modelo.. tengo
modelos muchos mas complejos con menos de 500 poligonos y se ven muy
bien .. 1500 poligonos es el maximo recomendado para un buen
performance .. creo ke limpiando tu modelo un poko puedes optimizar
bastante tu modelo.. tambien puedes aplicarle un smooth al
material.
tambien puedes probar con el StageQuality.MEDIUM o StageQuality.LOW.

octagono

David Pérez

unread,
Apr 7, 2010, 10:39:24 PM4/7/10
to ESPapervision3D
Hola,

Si te animas a compartir el código fuente y tu DAE (la textura no es
necesaria) podríamos observar el código e intentar encontrar una
solución.

Yo sospecho que el garbage collector no está funcionando
correctamente, dado que al abrir la web que indicas, el proceso usa
todo un núcleo de mi procesador en poco tiempo, pero en forma gradual.
Eso podría estar ocurriendo debido a que tienes alguna referencia a
objetos que ya no usas, y vas creando más y más objetos sobre los
cuales estás realizando la operación de renderización o algo
relacionado.
Si tienes algún ciclo, también deberías revisar si no estás intentando
mapear la imagen en cada ciclo, se que suena un poco ridículo, pero ya
me a pasado, que a falta de atención he colocado el mapeado dentro de
un método suscripto a un evento EnterFrame.

Bueno, son posibles ideas, en realidad el problema sería más fácil
viendo el código...

Un saludo.

Daniel Gabana Arellano

unread,
Apr 8, 2010, 6:41:09 PM4/8/10
to espaper...@googlegroups.com
Perdón por tardar en contestar. La verdad es que vuestras soluciones parecen bastante sencillas y directas...Este finde sacaré un rato para darle y os cuento. David, he puesto el optimize al modelo en Max, pero me deforma bastante el modelo... nose si es es modelo que esta regulero hecho...
En cuanto al código, aqui os paso un cachito
   (por si sirve de algo):  viewport = new Viewport3D(600,500, true, true);
        
           
            bitmapTexture = new BitmapFileMaterial("portada.jpg");
            bitmapTexture.smooth = true;
            bitmapTexture.precise = true;
           
            color1 = new ColorMaterial(0x333333);

            materiales = new MaterialsList();
           
            materiales.addMaterial(bitmapTexture, "pegatina");
            materiales.addMaterial(color1, "resto");
       
            objetoDAE = new Collada("botella1500.DAE", materiales, 1);
            objetoDAE.x = 0;
            objetoDAE.z = 1000;
            objetoDAE.localRotationY = 80;

            escena.addChild(objetoDAE);

            addEventListener(Event.ENTER_FRAME, onEnterframe);
            renderBasico.renderScene(escena, camara, viewport);
        }
       
        private function onEnterframe(e:Event)
        {
            objetoDAE.localRotationY += 1;
            renderBasico.renderScene(escena, camara, viewport);
        }


 No creo que esté haciendo cosas de mas, no?

Gracias por vuestras respuestas!
Reply all
Reply to author
Forward
0 new messages