Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Grey Infection, en peer review!

Iniciado por SiPoX, 04 de Octubre de 2011, 10:16:10 PM

« anterior - próximo »

Makaimura

Vaya, con las ganas que tengo de verlo, que ha pasado esta vez?

SiPoX

Desde luego no hay nada como ser novatos en una plataforma... ;)

Esta vez ha sido un error 4 al desconectar un usb de almacenamiento mientras se juega, sin que previamente se hubiera guardado nada... :S

Así que una semana extra de nuevo... :(
gamevelop: punto de encuentro para la industria del videojuego

Eduardo Millán: mi perfil ;)

Goosebrush

Que complicado es esto de dejar pulido un juego... Animo que a la tercera va la vencida  ;).

SiPoX

Parece que volvemos a la carga en review... ;) :P

Como siempre, mil gracias! ;) :P
gamevelop: punto de encuentro para la industria del videojuego

Eduardo Millán: mi perfil ;)

WaaghMan

Milkstone Studios - Autores de Avatar Ninja!, Little Racers, MotorHEAT y Wool en Xbox Live Indie Games

Hans

Ayer bajamos éste y Firing Range para revisar. Para cuando hemos querido hacer "el informe" de Firing Range ya estaba revisado , y con éste han vuelto a dar un error Code 4  :(

[EX3]

Definitivamente, lo peor que pude hacer fue meter codigo LinQ en la Xbox360, en buena hora :-/

El dichoso error 4 se produce en codigo ajeno al evento que lo provoca, exactamente en gestor de entidades y por lo que me ha contado gente que entiende del tema es debido gracias al maravilloso recolector de basura de .NET en xbox360 que parece que eventualmente choca con LinQ en la consola.

En fin, me toca otra ronda mas de buscar fantasmas en el codigo :(
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Vicente

Ein? Puedes dar mas detalles que me suena raro que LINQ y el GC provoquen ellos solitos un Code 4 :S

[EX3]

#53
Cita de: Vicente en 19 de Noviembre de 2011, 06:21:42 PM
Ein? Puedes dar mas detalles que me suena raro que LINQ y el GC provoquen ellos solitos un Code 4 :S
Lo que te comente mas o menos en la kdd del sabado. Por lo que me explico gente como r2drodrigo en su momento, Linq parece que da demasiados problemas en XBox por el recolector de basura de la consola (y me suena de mas gente que me comento algo similar por twitter).

Los errores que me surgen son que de repente salta una excepcion de objeto nulo en alguna llamada a los metodos de mi gestor de entidades, donde esta el codigo linq que usa el motor, cuando depurando con el visor de Visual Studio veo que no esta a nulo el objeto, me devuelve referencia y valores del objeto al que apunta (la entidad en la lista que haya cumplido con filtrado de linq en ese metodo) y por codigo tambien lo interpreta como tal (la expresion objeto =! null devuelve verdadero). La solucion esta pasando por "condonar" el codigo de esos metodos con try/catch al mas puro estilo del On Error Resume Next de Visual Basic :(

Un detalle que no te comente, este "error 4" empezo a manifestarse en el proyecto en cuanto empece a trabajar con los dialogos propios de la consola (selector de dispositivos, selector de perfil de jugador, dialogos de mensaje...) por lo que no se si tambien interfiere en algo ya que hasta ese momento ningun error 4 ni nada de nada :-/

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Vicente

Que LINQ puede dar problemas de rendimiento es "normal" por como funciona, pero que produzca petes ya no es tan normal, es mas es la primera vez que lo escuchaba :S Tengo que pillar a R2d2rigo para que me cuente un poco.

Sobre los dialogos, lo unico que recuerdo es que no se pueden mostrar dos veces (peta la segunda vez), pero no recuerdo nada mas en especial...

Vicente

#55
Por cierto, no puedes bajarte los ficheros de debug del framework y debugear a ver si el objeto que es null no es realmente el tuyo si no algo que esta dentro del propio codigo de LINQ?

Edit: y por ultimo no tienes hilos en el juego no?

[EX3]

Cita de: Vicente en 21 de Noviembre de 2011, 11:29:32 AM
Que LINQ puede dar problemas de rendimiento es "normal" por como funciona, pero que produzca petes ya no es tan normal, es mas es la primera vez que lo escuchaba :S Tengo que pillar a R2d2rigo para que me cuente un poco.
No se, pero que justamente que dichos errores ocurran en la unica parte del proyecto donde uso LinQ, y como decia, justo cuando empiezo a usar los dialogos de la consola, lo cual me descoloco mas en su momento, pues como minimo me hace sospechar que sea la causa, si no por que motivo los meses anteriores no fallo el mismo codigo? :-/

Cita de: Vicente en 21 de Noviembre de 2011, 11:29:32 AM
Sobre los dialogos, lo unico que recuerdo es que no se pueden mostrar dos veces (peta la segunda vez), pero no recuerdo nada mas en especial...
Si, pero este pete no es un error 4 y es facil de averiguar y de controlar (se comprueba si esta abierto algun dialogo de la guia y punto).

Cita de: Vicente en 21 de Noviembre de 2011, 11:32:32 AM
Por cierto, no puedes bajarte los ficheros de debug del framework y debugear a ver si el objeto que es null no es realmente el tuyo si no algo que esta dentro del propio codigo de LINQ?
Cuales archivos? Si te refieres a los reportes de depuracion que nos deberian pasar los que testean el juego en peer review me temo que no, segun SiPoX no le han mandado ninguno.

Cita de: Vicente en 21 de Noviembre de 2011, 11:32:32 AM
Edit: y por ultimo no tienes hilos en el juego no?
Salvo los dialogos de la consola que corren en su propio hilo, no.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Vicente

Al debuggear, me refiero al debuggear tu. Si no te entendi mal este error te daba un NullReferenceException y te daba diciendo que algo es null pero tu lo mirabas y no era null realmente.

Asi que de momento para mirar lo del null se me ocurre que te bajes los .pdb del framework a ver si asi sacas algo mas de informacion. Los puedes bajar en el Visual Studio en Options->Debugging->Symbols y lo que te permiten es debuggear linea a linea dentro del propio framework como si fuera tu codigo. A ver si asi puedes sacar mas informacion de la excepcion.

De todas formas, si es cuando empezaste a usar los dialogos de la consola, no deberias pensar que son los dialogos y no LINQ? O metiste los dos a la vez?

[EX3]

Cita de: Vicente en 21 de Noviembre de 2011, 06:04:07 PM
Al debuggear, me refiero al debuggear tu. Si no te entendi mal este error te daba un NullReferenceException y te daba diciendo que algo es null pero tu lo mirabas y no era null realmente.
Correcto.

Cita de: Vicente en 21 de Noviembre de 2011, 06:04:07 PM
Asi que de momento para mirar lo del null se me ocurre que te bajes los .pdb del framework a ver si asi sacas algo mas de informacion. Los puedes bajar en el Visual Studio en Options->Debugging->Symbols y lo que te permiten es debuggear linea a linea dentro del propio framework como si fuera tu codigo. A ver si asi puedes sacar mas informacion de la excepcion.
Vale, ya entiendo. Vere si saco tiempo para ponerme a ello primero :-/

Cita de: Vicente en 21 de Noviembre de 2011, 06:04:07 PM
De todas formas, si es cuando empezaste a usar los dialogos de la consola, no deberias pensar que son los dialogos y no LINQ? O metiste los dos a la vez?
No, LinQ lleva desde que monte el motor y no dio problemas, los dialogos de la guia de XBox fue de lo ultimo que implemente, pero no me da la sospecha de que sean la causa del error 4 o al menos no veo la relacion cosa que con LinQ si por lo ya mencionado, son justo las llamadas donde se realiza alguna consulta con llamadas LinQ. Si fueran los dialogos creo que le habria pasado a mucha mas gente antes que a mi ya que casi nadie usa (supongo) LinQ en XBox salvo cuantro zumbados como yo :P mientras que los dialogos si o si los tienes que usar.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Vicente

Pues yo creo que son los dialogos :D En particular me da a mi que es algun tipo de problema de multihilo entre los dialogos y la coleccion que operas con LINQ, pero a saber sin ver el codigo :D






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.