CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 23 Sep 2018 10:34

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 16 mensajes ]  Ir a página 1, 2  Siguiente
Autor Mensaje
NotaPublicado: 16 Ene 2011 13:26 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Me preguntaba qué recursos mínimos son necesarios para trabajar con PUCK.
Lo digo porque este fin de semana he intentado hacerlo desde mi portátil con un intel a 1'5 ghz, y con 500 mb de RAM y lo he tenido que dejar por imposible.
Desde windows XP parece que aguantaba un poco más, pero al final pasaba lo mismo, cada vez que le daba al play de Puck y luego cerraba la partida, el sistema se quedaba congelado, un buen rato. ¿Eso es normal?

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Arriba
 Perfil  
 
NotaPublicado: 16 Ene 2011 13:57 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5303
Ubicación: Coruña
Hmm. ¿Abres el fichero varias veces?

Es que haciendo pruebas para darte una respuesta, me acabo de dar cuenta de que creo que hay un memory leak en el PUCK, si abres varios ficheros no libera bien los recursos de los anteriores.

Abrir "Vampiro" -> ocupa 90 MB
Abrir tu aventura -> ocupa 180 MB
Abrir tu aventura, sin cerrar el PUCK volver a abrirla, volver a abrirla, etc. -> crece el uso de memoria hasta que se vuelve inmanejable y se ralentiza.

Espero encontrar el bug un día que pueda conseguir un profiler y tenga tiempo de usarlo, mientras tanto sólo puedo recomendar que para abrir otro fichero, mejor cerrar PUCK y volverlo a abrir.

Bug aparte... bueno, la verdad es que dar una estimación de los recursos que se necesitan es una cosa experimental más que nada... ¿tú crees que las compañías que hacen los programas y juegos saben al programarlos qué recursos necesitan? Qué va, simplemente ponen a gente a probarlos en distintas máquinas y ver qué tal van, en el mejor de los casos... en el peor de los casos se inventan los requisitos recomendados estimando a la alta y ya está :D

Dado que tu mundo abriéndolo una sola vez me ocupa en mi máquina unos 180 megas de RAM, pero en un Windows es fácil tener otros programas consumiendo varios cientos de megas de memoria, yo pondría así a ojo como requisito mínimo 512 MB y como requisito recomendado 1 GB... o sea, con 512 MB debería ir bien para mundos normales (bug aparte, ya digo) pero me esperaría que al empezar a hacerse el mundo más grande la cosa pudiera ponerse peluda. Aunque ya digo, es una estimación muy a ojo y al final dependerá también de qué otras cosas tengas instaladas en el sistema, cómo de optimizado esté, etc. (en un Windows de 512 MB esto influye muchísimo, porque un antivirus+firewall actual ya te puede comer él solo 200 megas fácilmente...)

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 16 Ene 2011 14:33 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 22:29
Mensajes: 1592
Ubicación: R.I.P.
Al-Khwarizmi escribió:
Bug aparte... bueno, la verdad es que dar una estimación de los recursos que se necesitan es una cosa experimental más que nada... ¿tú crees que las compañías que hacen los programas y juegos saben al programarlos qué recursos necesitan? Qué va, simplemente ponen a gente a probarlos en distintas máquinas y ver qué tal van, en el mejor de los casos... en el peor de los casos se inventan los requisitos recomendados estimando a la alta y ya está :D


Supongo que hablarás por experiencia propia.

En mi caso, como profesional que se dedica al desarrollo de software, te diré que si que sabemos qué recursos necesitan. Mejor dicho... establecemos los recursos mínimos (caso peor) y sobre ellos se establece un entorno de pruebas que los cumple y se instruye a los programadores en las técnicas necesarias para no rebasar esos recursos.

Se establecen parámetros que van desde ocupación de memoria (hacemos aplicaciones J2EE), conexiones que pueden estar abiertas simultáneamente, uso de espacio en disco (si procede), velocidad de acceso a la información, volumen de datos que viajan entre el cliente y el servidor, entre los diferentes módulos o servicios del servidor, etc...

Porque, en mi caso al menos, los recursos de los clientes para los que trabajamos son limitados.

Ahora bien... en el caso de otro tipo de desarrollos o empresas igual es como tú dices y nosotros somos el caso "rarito". :mrgreen:

Que eso no quita que no se cuelen "bugs". Pero de ahí a insinuar que las empresas que desarrollamos software no tenemos en cuenta los recursos necesarios va un buen trecho.

Es más, a título personal, cuando yo hice SINTAC y Visual SINTAC me preocupé mucho por estos temas. En el caso de SINTAC porque había que "encajarlo" en requisitos de un sistema MS-DOS de la época y me preocupé de que funcionase sin necesidad de usar memoria extendida o expandida. Y además, que pudiese ejecutarse hasta en una tarjeta EGA (CGA no, por cuestiones de obsolescencia).

En Visual SINTAC me marqué también unos requisitos mínimos de uso de memoria, espacio en disco. Aunque en este caso me olvidé bastante de optimizaciones de velocidad (salvo en ciertos puntos).

Si puedo entender que tienes ese "bug" por falta de tiempo para probar tu aplicación. O falta de recursos para probarla en distintos entornos (ahora se pueden usar máquinas virtuales para eso). O falta de ganas, o interés al ser un proyecto no comercial.

Incluso puede que ese "bug" no sea tuyo sino debido a algún oscuro comportamiento de algún API o librería que uses.

Pero no te justifiques diciendo lo que has dicho... que no puedes estimar los recursos necesarios y que las empresas no lo hacen, porque es incierto. :wink:

_________________

"Tengo tres perros peligrosos: la ingratitud, la soberbia y la envidia. Cuando muerden dejan una herida profunda. (Martín Lutero)"


Arriba
 Perfil  
 
NotaPublicado: 16 Ene 2011 15:05 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:
Abrir tu aventura, sin cerrar el PUCK volver a abrirla, volver a abrirla, etc. -> crece el uso de memoria hasta que se vuelve inmanejable y se ralentiza.

Espero encontrar el bug un día que pueda conseguir un profiler y tenga tiempo de usarlo, mientras tanto sólo puedo recomendar que para abrir otro fichero, mejor cerrar PUCK y volverlo a abrir.


Nunca abro dos mundos con el mismo Puck, cuando digo "darle al play", me refiero siempre a hacerlo en el mismo mundo. Una secuencia típica de mi forma de trabajar sería:
Abro el Puck
Cargo mundo.
Abro ventana de juego
Encuentro comportamiento no deseado.
Guardo partida
Cierro ventana de juego
Abro ventana del objeto a editar y edito.
Cargo partida y compruebo si el comportamiento ha cambiado.
Si ha cambiado, continuo con el juego.
Si no ha cambiado, cierro ventana de juego.
Vuelvo al código, etc.
Lo que sí suelo tener es más de un objeto en ventana de edición, pero nunca más de cuatro.

El caso es conforme se va repitiendo este ritual, el sistema se va resintiendo más y más.
En el caso de windows al cerrar una de las veces, me di cuenta de que tenía dos ventanas de edición del mismo objeto, eso me dejó bastante mosca, porque es algo que en linux ya no pasa. También ha habido casos en los que el sonido se ha quedado sonando (eso en Linux). Cuando java dejaba de funcionar por completo, el sistema marcaba un uso del 60% de memoria.

Citar:
Windows de 512 MB esto influye muchísimo, porque un antivirus+firewall actual ya te puede comer él solo 200 megas fácilmente...)

Bueno, mi sistema no tiene firewall, sí un antivirus que no actualizo desde hace años porque es raro que lance windows y cuando lo hago es más raro aún que sea con conexión.
Imagino que la longitud del código influye mucho en su edición, pero la verdad es que mi aventura no tiene demasiados objetos, ni demasiadas localidades. Lo que sí hay es mucho código comentado del que tal vez debería empezar a hacer limpieza. Miraré a ver si así va más ligero. :)

Yo no sé si aquellos cambios que hiciste para que el sistema se oyera con pulseaudio pueden comer más recursos de lo habitual, si es así creo que habría que anularlos.

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Arriba
 Perfil  
 
NotaPublicado: 16 Ene 2011 15:55 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5303
Ubicación: Coruña
JSJ escribió:
Ahora bien... en el caso de otro tipo de desarrollos o empresas igual es como tú dices y nosotros somos el caso "rarito". :mrgreen:

Hombre, yo no he trabajado en empresas de desarrollo de software, pero tengo muchos amigos y compañeros de carrera que sí lo hacen y sé cómo funcionan las cosas en sus empresas, y en esa experiencia me baso.

De todas formas, es que estamos hablando de mundos distintos. Tú estás hablando de aplicaciones del lado del servidor, y yo estoy hablando del lado del cliente. En las aplicaciones del lado del servidor, claro que la comprobación de ese tipo de requisitos es mucho más estricta, porque el entorno está mucho más controlado en general. Y si te vas a cosas como sistemas embebidos, pues todavía será mucho más estricta. Son mercados diferentes.

En las aplicaciones de consumo "casero", ese tipo de estimaciones es mucho más difícil porque no es lo mismo que una aplicación funcione bien con 512 MB en un Windows XP con pocos procesos corriendo, que en el Windows XP de alguien que tiene dos antivirus, un firewall, etc. Y si empezamos a hablar de malware (presente en porcentajes significativos de ordenadores), ya no digamos. Con lo cual los requisitos que se suelen dar para el software son una cosa muy aproximada y orientativa, y por lo que yo sé la mayoría de las empresas tampoco se calientan mucho la cabeza a la hora de estimarlos (aunque como en todo, las habrá que se esfuerzan más y que se esfuerzan menos; pero vamos... las que yo conozco caen más bien en el lado del "menos" :D).

JSJ escribió:
Si puedo entender que tienes ese "bug" por falta de tiempo para probar tu aplicación. O falta de recursos para probarla en distintos entornos (ahora se pueden usar máquinas virtuales para eso). O falta de ganas, o interés al ser un proyecto no comercial.

Incluso puede que ese "bug" no sea tuyo sino debido a algún oscuro comportamiento de algún API o librería que uses.

Pero no te justifiques diciendo lo que has dicho... que no puedes estimar los recursos necesarios y que las empresas no lo hacen, porque es incierto. :wink:

No, hombre, si no pretendía justificar el bug. Estoy seguro de que el bug es mío, como muchos otros que ha habido y que habrá, y espero arreglarlo como otros se han arreglado y se arreglarán. Efectivamente, siendo una persona y trabajando gratis no se puede pedir un proceso de testeo muy exhaustivo.

Además, la estimación que he dado es sin tener en cuenta el bug. Teniendo en cuenta el bug, si te pones a abrir un mundo tras otro, es fácil decir cuánta memoria hace falta: infinita... :D

Por cierto, el AGE nunca ha estado hecho con requisitos de optimización en mente, eso es algo que ya he dicho muchas veces. Cada sistema tiene su "target", y sus pros y sus contras, y el que quiera un sistema muy optimizado y que funcione en máquinas antiguas, móviles y similares es mejor que mire en otra parte, las cosas como son. En ese sentido no quiero ni nunca he querido engañar a nadie. Aunque bueno... bastante más optimizado que Inform 7 sí que está, al menos por lo que yo he podido probar informalmente :D

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 16 Ene 2011 16:09 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5303
Ubicación: Coruña
jenesis escribió:
Nunca abro dos mundos con el mismo Puck, cuando digo "darle al play", me refiero siempre a hacerlo en el mismo mundo (...)

Me estoy dando cuenta de que en la estimación que hice antes estaba contando sólo el PUCK, no PUCK+AGE (que es lo que pasa cuando le das al play).

Tu mundo abierto en PUCK, más la ventana de AGE, se me van a 258 megas en mi máquina. Y eso sin estar reproduciendo ningún sonido ni mostrando gráficos porque no los tengo aquí, imagino que si estás reproduciendo además un ogg serán unos megas más (para el buffer, el descodificador, etc.) y si estás mostrando un svg más aún (el propio svg, la imagen escalar en pantalla en la que se traduce el svg que te podrá ocupar un mega bien, etc.), y pasará ampliamente de 260. Y claro, eso para una máquina con 512 megas ya empieza a ser un consumo respetable, porque a mí los procesos residentes me ocupan 200 megas largos en mi XP y eso que no gasto antivirus y lo tengo todo razonablemente configurado. Así que, incluso en ausencia de bugs, la verdad es que no me sorprende que con 512 megas no vaya muy holgado. Supongo que será tal como dije antes: 512 megas valdrá para editar mundos tipo "Vampiro" y así (aquí "Vampiro" en ventana de AGE + ventana de PUCK son 100 megas); pero no ya para editar mundos del tamaño del tuyo que pasa de 100 entidades y tiene multimedia.

De todas formas, si dices que al principio va todo bien y es con el tiempo cuando se empieza a poner la cosa fea, tal vez haya algún bug implicado (aparte del que dije antes de abrir mundos sucesivamente). Si un día te acuerdas, sería útil que miraras cuánta memoria está ocupando java.exe la primera vez que lances tu aventura y cuánto ocupa más tarde, cuando ya has hcho varias pruebas y tal. Si hay mucha diferencia entre una y otra puede que haya más memory leaks aparte del que he visto.

jenesis escribió:
Yo no sé si aquellos cambios que hiciste para que el sistema se oyera con pulseaudio pueden comer más recursos de lo habitual, si es así creo que habría que anularlos.

Sí, sin duda comen más recursos (imagino que sobre todo CPU) porque básicamente los cambios consisten en que, en lugar de tener un sintetizador MIDI abierto y llamarlo cada vez que quieres tocar un MIDI (que es como estaba al principio, y en principio es lo más lógico); con los cambios se destruye el sintetizador MIDI al terminar de tocar una canción, luego se vuelve a crear otro desde cero, y se usa para tocar la siguiente canción, y lo mismo cada vez que se cambia de fichero MIDI o audio.

Eso lógicamente consume recursos y es una forma "rara" de hacer las cosas, lo normal era hacerlo como estaba al principio. Lo que pasa es que parece que era la única manera de que se llevara un poco bien con el dichoso PulseAudio...

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 16 Ene 2011 16:58 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:
Eso lógicamente consume recursos y es una forma "rara" de hacer las cosas, lo normal era hacerlo como estaba al principio. Lo que pasa es que parece que era la única manera de que se llevara un poco bien con el dichoso PulseAudio...


No, no te fíes. Era la única manera de que funcionara en mi sistema Ubuntu y no es seguro del todo que Pulseaudio fuera el culpable. Déjalo como estaba antes, no merece la pena.
Cuando Pulseaudio sea algo más estable se podrá hacer un nuevo intento de que AGE funcione con él. Además ahora mismo mi proyecto no lleva midis, así que tampoco va ser muy útil.

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Arriba
 Perfil  
 
NotaPublicado: 16 Ene 2011 21:09 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 22:29
Mensajes: 1592
Ubicación: R.I.P.
Al-Khwarizmi escribió:
Tú estás hablando de aplicaciones del lado del servidor, y yo estoy hablando del lado del cliente. En las aplicaciones del lado del servidor, claro que la comprobación de ese tipo de requisitos es mucho más estricta, porque el entorno está mucho más controlado en general. Y si te vas a cosas como sistemas embebidos, pues todavía será mucho más estricta. Son mercados diferentes.


Hablo de ambos mundos. También realizamos aplicaciones de escritorio. Y en Java. Precisamente una de ellas es un entorno muy muy muy parecido al AGE... sólo que dedicado a otras tareas.

Y en esas tenemos incluso más cuidado con los requisitos al ser el entorno destino, como bien dices, más "descontrolado".

En cualquier caso soy consciente que, como en todos los ámbitos, hay chapuceros. Ya es mala suerte que todos tus colegas hayan caído en empresas chapuceras en ese sentido... :mrgreen:

_________________

"Tengo tres perros peligrosos: la ingratitud, la soberbia y la envidia. Cuando muerden dejan una herida profunda. (Martín Lutero)"


Arriba
 Perfil  
 
NotaPublicado: 16 Ene 2011 21:20 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1863
JSJ escribió:
Precisamente una de ellas es un entorno muy muy muy parecido al AGE... sólo que dedicado a otras tareas.


Interesante JSJ, ¿Podrias comentar por encima en qué consiste ese parecido?

Entre eso y tu experiencia en la FI seria genial poder tener opiniones tuyas sobre pyphiverses... cuando encuentres un tema de tu interés, aquello es muy ámplio.

Gracias
dddddd.-


Arriba
 Perfil  
 
NotaPublicado: 16 Ene 2011 22:37 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 22:29
Mensajes: 1592
Ubicación: R.I.P.
dddddd escribió:
Interesante JSJ, ¿Podrias comentar por encima en qué consiste ese parecido?

Entre eso y tu experiencia en la FI seria genial poder tener opiniones tuyas sobre pyphiverses... cuando encuentres un tema de tu interés, aquello es muy ámplio.


Puntualizar que donde dije AGE quería decir el entorno PUCK.

El parecido: pues que dicho programa permite "dibujar" un esquema de conexiones entre elementos. Estos elementos tienen propiedades que los definen (al igual que las conexiones entre ellos). En el caso de PUCK son objetos y relaciones entre ellos.

En nuestro caso son elementos eléctricos y conexiones entre ellos para conformar esquemas unifilares.

En base a esa información PUCK genera código AGE. En nuestro caso se realizan los cálculos pertinentes de la instalación eléctrica y se genera la memoria del proyecto.

De hecho en su día pensé usarlo como base a un posible IDE para Inform. Idea descartada al microsegundo de aflorar en mis (excasos) enlaces neuronales... :mrgreen:

_________________

"Tengo tres perros peligrosos: la ingratitud, la soberbia y la envidia. Cuando muerden dejan una herida profunda. (Martín Lutero)"


Arriba
 Perfil  
 
NotaPublicado: 17 Ene 2011 17:08 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1863
JSJ escribió:
dddddd escribió:
Interesante JSJ, ¿Podrias comentar por encima en qué consiste ese parecido?

Entre eso y tu experiencia en la FI seria genial poder tener opiniones tuyas sobre pyphiverses... cuando encuentres un tema de tu interés, aquello es muy ámplio.


Puntualizar que donde dije AGE quería decir el entorno PUCK.


Ah! vale, de eso de "dibujar" ya me sonaba haberte leido algo. Pensé que era otra cosa.

Gracias por la aclaración JSJ.


Arriba
 Perfil  
 
NotaPublicado: 18 Ene 2011 15:27 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5303
Ubicación: Coruña
Sobre el presunto "memory leak" que mencionaba antes, he estado haciendo pruebas y con "Vampiro" y "Fuego" no se da, puedo abrirlos incluso cientos de veces seguidas sin que se note aumento del consumo de memoria. Así que el bug debe de ser algo que se provoca a causa de algo que tu aventura usa y otras no. Seguiré investigando. ¿Me puedes enviar el xml por mensaje privado para hacer pruebas? (ya me lo has mandado alguna vez y lo tengo, pero no voy a estar en el ordenador donde lo tengo hasta mañana, y así puedo probar algo también hoy).

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 18 Ene 2011 18:36 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5303
Ubicación: Coruña
Pues he estado probando con tu mundo y tampoco he conseguido que me salte el bug, probando en dos máquinas. No sé, igual es un fallo que sólo aparece si se dan unas circunstancias muy concretas. Haré más pruebas para ver si es muy frecuente o si por el contrario es muy raro y no consigo volver a reproducirlo, y si es lo segundo, lo dejaré en hibernación...

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 18 Ene 2011 18:43 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:
Pues he estado probando con tu mundo y tampoco he conseguido que me salte el bug, probando en dos máquinas.

En el portátil ya quedamos en que era un problema de recursos ¿no?
En esta máquina es muy raro que pete, pero no me extrañaría que cuando lo ha hecho hubiera un problema de sonido de por medio, o de java... a saber...

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Arriba
 Perfil  
 
NotaPublicado: 18 Ene 2011 19:15 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5303
Ubicación: Coruña
jenesis escribió:
Al-Khwarizmi escribió:
En el portátil ya quedamos en que era un problema de recursos ¿no?

Sí, con 512 MB es normal que no vaya bien con un mundo tan grande.

Ahora estaba hablando del tema de cargar sucesivos mundos, que me dio la impresión de que había memory leak en ese caso, pero ahora no soy capaz de reproducirlo.

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 16 mensajes ]  Ir a página 1, 2  Siguiente

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
cron
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM