Java - Juego de rol 2D - 12 Estudiando el rendimiento

preview_player
Показать описание
En este episodio nos tomaremos un descanso de tanta escritura de código y nos dedicaremos a examinar el funcionamiento de nuestro juego hasta el momento. Os enseñaré algunos aspectos que afectan a la velocidad y rendimiento de nuestro juego.

También os enseñaré a examinar nuestas aplicaciones usando el Java Mission Control, un monitor de la JVM gratuito incluido con el JDK (ya deberíais tenerlo).

¡Que lo disfrutéis!

#programacion #juegos

¿QUIERES APOYAR EL CANAL ECONÓMICAMENTE?

¡HABLEMOS!
Рекомендации по теме
Комментарии
Автор

2020:
Estoy haciendo un juego en java y, buscando información sobre un buen (correcto) GameLoop para el juego, encontré que se recomienda fuertemente colocar un Thread.sleep(1) así no saturar el procesador. Me acordé de este video y lo vi completo de nuevo y... wow! ya hablabas del tema y mostrabas los rendimientos reales. En perspectiva, ahora puedo apreciar mucho más el esfuerzo que pusiste en esta serie.


Hice una prueba (hace segundos) y se nota cómo Java ha cambiado el modo en que utiliza los recursos: teniendo un procesador con dos núcleos y 4 hilos lógicos, Java alterna el uso de los hilos para darle al juego, por momentos, el 80%-95% de uso del hilo lógico. Pero teniendo varios núcleos e hilos lógicos, apenas hay cambios de uso real del procesador con y sin Thread.sleep(1) pero buscando cómo solucionar el problema de lo que en inglés llaman "drift" (que no se pueda saber exactamente cuánto tiempo transcurrió entre cada llamada al sleep) hay que hacer algunos cálculos matemáticos mientras que otros afirman que se puede forzar a Java a utilizar un reloj de alta resolución que vuelve mucho más preciso el contador de tiempo. Pero leyendo en los comentarios, ya veo que también lo habías investigado.


De nuevo, se agradece el esfuerzo enorme que metiste en esta serie.
Muchos lamentamos que no andes por acá hace tiempo (yo sigo extrañando los directos), aunque estamos contentos con tu nueva vida y tus logros personales. Estaremos contentos cuando puedas y decidas volver


Saludos desde Arg. colega!

gonzalo
Автор

Esta tremendo!!! Estaba haciendo las animaciones con Sprites colocando imagenes en un label y redibujando... Este metodo es mil veces mejor y no se me hubiera ocurrido ni en mil años para ser sincero. Muy buen trabajo, tiene su like y mi suscripción mas que merecida.

francogarcia
Автор

2021!!!... llegué más de 7 años tarde, pero cada episodio es estupendo y genial!!... Un agradecimiento al creador de estas clases... eres un máquina!!... :D

Anibal_Larico
Автор

Estás currándotelo mucho sigue así por favor.

sergiofernandez
Автор

Saludos. ¿Todavía anda por aquí? es para felicitarlo por tan valioso aporte. Gracias por compartir su conocimiento y tiempo. Saludos desde Colombia.

diegocm
Автор

Maginifico curso, esperamos más! Saludos!!

asanast
Автор

yo tambien lo estoy asiendo en el 2020 y la verdad me encata como lo explicas, tambien estoy usando uno de los libros que recomendaste en otro de tus videos

JavaPredacons
Автор

Interesante del monitoreo, tome su like(Y) :D

luizmartinez
Автор

hola! muy buenos tus videos! de nuevo te felicito! (lo hice en otro video ^^) queria comentarte que hice lo del sleep, y la verdad es que si "ahorras" recursos con el; la cantidad de recursos usados que me aparece de la aplicacion java, pasa de 3% a 27% usando y sin usar el sleep respectivamente, y de recursos totales usados de mi pc, (pasa del 10% al 45%!) asique hay una gran diferencia usando el sleep.

fedejure
Автор

al exportarlo a .jar tenia el error de tipico de los comentarios, que compilaba pero en el jar no aparecía nada, aun teniendo el paquete recursos con la imagen dentro del src, pero seguia saliendo error. ahora no se que rayos hice pero ya se soluciono, resetee el netbeans, tal vez fue eso? aunque no lo creo

wulfhk
Автор

Control de misión JDK para Eclipse

1. Help
2. Eclipse Marketplace
3. Find: Java Mission Control 6.0.0
4. Install
5. Reiniciar

RonaldAnthon
Автор

Buenas, muchas gracias por compartir tus conocimientos. Llego tarde pero bueno. Me he tenido que descargar aparte el jmc y le he metido en archivos de programa y todo. tengo eclipse de 64 bits y el jmc tambien, pero el archivo que exporto de eclipse en el jmc me sale de 32 y no se puede ver el rendimiento por que me sale error ....

treeman
Автор

Una consulta, me descargue un sprite de mario de 500 x 600 para probar esto, y como es distinto ya que cada lado tiene 100x100 pixeles (son 30 imagenes) puse en hojaSprites en ancho 500 y alto 600 y cambie en sprite la constante de lado por 100, y me tira un error de que se va fuera del array, me estara faltando cambiar un valor?

Lunder
Автор

amigo voy hasta aquí y todo bien pero mi problema es que todavía con que el los que tu haces al inicio del vídeo de mover con wasd a mi no lo ejecuta pero solo imprime los System.on.println(""); en la consola. Tiene alguna solución ya repase mucho el vídeo de los controles y vi los comentarios pero nada me soluciona nota:Estoy en NetBeans IDE 8.2

alcaoficial
Автор

disculpa no c si fue en este episodio donde lo mencionaste pero tengo problemas en exportar el jar. cuando le doy debug no me da ningún problema pero, cuando lo exporto, el ejecutable solo me abre una ventana con el tamaño y el titulo, ni siquiera el titulo actualiza los fps y aps.

coxer
Автор

Lo exporto de clicando en "runnable" pero el escritorio me aparece un juego.jar (la imagen de tres libritos porque es winRAR) ¿Sabes que es lo que me ocurre? Lo hice 2 veces pero me sigue saliendo igual

shiroe
Автор

buenas amigo ingrese a el link que dejaste para lo del juego pero no aparce este juego aparecen tors pero el deestudiando el rendimiento no aparece

luisfelipequinonesescobar
Автор

Hola, me ocurre algo extraño mis APS son de 60, 61 o 62 como estaba previsto pero mis FPS son de entorno a 60 90 o 30, y no mejoran apenas bajando la resolución (ANCHO, ALTO) nisiquiera cuando llego a 200, 150, aclarar que lo estoy haciendo en mac, un mac bastante potente, eso si con dos tarjetas graficas...., me da la sensación que de alguna forma se está auto limitando e intenta no pasar de 90 FPS.. ... alguna idea? o crees que no debo preocuparme de momento?

Por cierto ya te preguntare en cuando tenga un poco mas claro, pero mi idea es cambiar los sprites cuadrados por isometricos, aunque me complicara algo los calculos... y no se si seré capaz

ignaciojauralde
Автор

Por qué en "JVM CPU Usage" me sale "No value yet" y, en consecuencia, no salen los diales???

rafaelangelgarciacabrera
Автор

Estoy usando eclipse 2022 y al exportar no ejecuta el uego. Exporto otros proyectos y si va. Un saludo.

josenavaro