Autor Tema: Full HD sobresale de la pantalla  (Leído 769 veces)

Arcontus

  • Sr. Member
  • ****
  • Mensajes: 278
  • Karma: 9
Full HD sobresale de la pantalla
« en: Enero 24, 2018, 09:45:11 am »
Hola chicos, os traigo un caso un poco extraño:

Tengo un portátil Mountain Iridium de 15" que por especificaciones (y según w10 también) la resolucion recomendada es Full HD 1920x1080. El caso es que cuando pongo mi proyecto en esa resolución, la mitad de la pantalla de juego sobrepasa el tamaño del monitor, viendose solo una parte y no el completo. Sin embargo si pongo resolución 1366x768 (la más común para portátiles de 15") en el proyecto, se ve perfectamente. También he probado a utilizar "graphic_info()" para detectar la resolucion de la pantalla y me dice que es FullHD y como ya he comentado hace que no se vea la totalidad de la pantalla de juego. En otros juegos comerciales no he visto este problema y funcionan correctamente a FullHD.
Por otro lado, he conectado una TV por HDMI a ese portátil y mediante esa salida si que se reproduce correctamente a FullHD.

He hecho la misma prueba sobre 4 ordenadores distintos y es el único que ha mostrado este comportamiento extraño.

He intentado abrir caso con el servicio técnico de Mountain para si me podían dar alguna pista, pero me dicen que si w10 me dice que la resolucion recomendada es FullHD y se ve correctamente en la pantalla, que ellos no se hacen responsables de software de 3os (como es lógico).

¿Alguien tiene la más remota idea de porqué puede pasar esto?


Un saludo!

panreyes

  • Administrator
  • *****
  • Mensajes: 2154
  • Karma: 74
    • panreyes.com
Re:Full HD sobresale de la pantalla
« Respuesta #1 en: Enero 24, 2018, 10:04:09 am »
El problema está en el reescalado DPI. BennuGD no informa al sistema operativo de que es capaz de gestionar los cambios de DPI, así que Windows reescala la ventana a un tamaño proporcional correspondiente al DPI que tengas configurado en tu "Configuración de pantalla".

Puedes solucionarlo de forma temporal en las propiedades del ejecutable BGDI.exe


(Esto es todo una asunción de aúpa, puede ser esto o cualquier otra cosa xD)

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6273
  • Karma: 160
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re:Full HD sobresale de la pantalla
« Respuesta #2 en: Enero 25, 2018, 12:15:11 am »
¿Estás seguros de que el juego se está ejecutando a pantalla completa y sin filtros de escalado?
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Arcontus

  • Sr. Member
  • ****
  • Mensajes: 278
  • Karma: 9
Re:Full HD sobresale de la pantalla
« Respuesta #3 en: Enero 25, 2018, 08:53:12 am »
¿Estás seguros de que el juego se está ejecutando a pantalla completa y sin filtros de escalado?

Estoy seguro de que el programa se ejecuta a pantalla completa y con un "scale_resolution = 19201080;" ya que la resolución del juego original es distinta, concretamente 1280x768.

Más que un problema para mi caso particular es una pequeña molestia que solo he podido reproducir en ese portátil. Como en mi proyecto permito cambiar de resolución y esto solventa el problema de los limites de pantalla, no es grave. Sin embargo me parecía interesante comentarlo para que se tuviera en cuenta este extraño comportamiento y si lo habíais visto anteriormente y tenia workarround implementarlo en mi proyecto.

Tengo pendiente probar la solución que dió panreyes, tiene buena pinta pero no he tenido ocasión.

Un saludo!
« última modificación: Enero 25, 2018, 09:02:38 am por Arcontus »

panreyes

  • Administrator
  • *****
  • Mensajes: 2154
  • Karma: 74
    • panreyes.com
Re:Full HD sobresale de la pantalla
« Respuesta #4 en: Enero 25, 2018, 09:25:01 am »
Tengo pendiente probar la solución que dió panreyes, tiene buena pinta pero no he tenido ocasión.

Lo es seguro xD Ya me dices :)

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12756
  • Karma: 375
Re:Full HD sobresale de la pantalla
« Respuesta #5 en: Enero 25, 2018, 01:35:34 pm »
¿Estás seguros de que el juego se está ejecutando a pantalla completa y sin filtros de escalado?

Estoy seguro de que el programa se ejecuta a pantalla completa y con un "scale_resolution = 19201080;" ya que la resolución del juego original es distinta, concretamente 1280x768.

Más que un problema para mi caso particular es una pequeña molestia que solo he podido reproducir en ese portátil. Como en mi proyecto permito cambiar de resolución y esto solventa el problema de los limites de pantalla, no es grave. Sin embargo me parecía interesante comentarlo para que se tuviera en cuenta este extraño comportamiento y si lo habíais visto anteriormente y tenia workarround implementarlo en mi proyecto.

Tengo pendiente probar la solución que dió panreyes, tiene buena pinta pero no he tenido ocasión.

Un saludo!

no, no, el tener scaleresolution no hace que vaya a pantalla completa, podes tener scaleresolution en una ventana e incluso una ventana mas grande que la pantalla... para pantalla completa tenes que hacer fullscreen = 1, si o si, o activarlo por set_mode.

o no entendi tu respuesta.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12756
  • Karma: 375
Re:Full HD sobresale de la pantalla
« Respuesta #6 en: Enero 25, 2018, 01:41:38 pm »
graphic_info no te sirve para detectar la resolucion de pantalla, solamente sirve para info de los graficos y si usas 0,0, la info del set_mode actual... lo que no significa resolucion del monitor...

por otro lado, tenes get_modes() y mode_is_ok() para verificar modos de video validos... aunque puede que en algunos dispositivos (como algunas consolas portatiles) SDL informe modos que no se pueden renderear... esto no me paso en PC...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Arcontus

  • Sr. Member
  • ****
  • Mensajes: 278
  • Karma: 9
Re:Full HD sobresale de la pantalla
« Respuesta #7 en: Enero 26, 2018, 08:57:41 am »
¿Estás seguros de que el juego se está ejecutando a pantalla completa y sin filtros de escalado?

Estoy seguro de que el programa se ejecuta a pantalla completa y con un "scale_resolution = 19201080;" ya que la resolución del juego original es distinta, concretamente 1280x768.

Más que un problema para mi caso particular es una pequeña molestia que solo he podido reproducir en ese portátil. Como en mi proyecto permito cambiar de resolución y esto solventa el problema de los limites de pantalla, no es grave. Sin embargo me parecía interesante comentarlo para que se tuviera en cuenta este extraño comportamiento y si lo habíais visto anteriormente y tenia workarround implementarlo en mi proyecto.

Tengo pendiente probar la solución que dió panreyes, tiene buena pinta pero no he tenido ocasión.

Un saludo!

no, no, el tener scaleresolution no hace que vaya a pantalla completa, podes tener scaleresolution en una ventana e incluso una ventana mas grande que la pantalla... para pantalla completa tenes que hacer fullscreen = 1, si o si, o activarlo por set_mode.

o no entendi tu respuesta.
Cierto Splinter, se me pasó poner está instrucción en el mensaje anterior: set_mode(Resolucion_x,Resolucion_y,32, mode_fullscreen);

Arcontus

  • Sr. Member
  • ****
  • Mensajes: 278
  • Karma: 9
Re:Full HD sobresale de la pantalla
« Respuesta #8 en: Enero 26, 2018, 09:03:14 am »
graphic_info no te sirve para detectar la resolucion de pantalla, solamente sirve para info de los graficos y si usas 0,0, la info del set_mode actual... lo que no significa resolucion del monitor...

por otro lado, tenes get_modes() y mode_is_ok() para verificar modos de video validos... aunque puede que en algunos dispositivos (como algunas consolas portatiles) SDL informe modos que no se pueden renderear... esto no me paso en PC...
De alguna manera quería averiguar la resolución a la que está configurada la pantalla del sistema donde corre el proyecto. Mediante 0,0, como bien dices me devuelve (antes de ejecutar el proyecto) la resolución a la que se está trabajando actualmente, sobreentendiendo que si el jugador tiene esa resolución en su pantalla debe ser la más correcta para su monitor.

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12756
  • Karma: 375
Re:Full HD sobresale de la pantalla
« Respuesta #9 en: Enero 26, 2018, 01:02:49 pm »
graphic_info no te sirve para detectar la resolucion de pantalla, solamente sirve para info de los graficos y si usas 0,0, la info del set_mode actual... lo que no significa resolucion del monitor...

por otro lado, tenes get_modes() y mode_is_ok() para verificar modos de video validos... aunque puede que en algunos dispositivos (como algunas consolas portatiles) SDL informe modos que no se pueden renderear... esto no me paso en PC...
De alguna manera quería averiguar la resolución a la que está configurada la pantalla del sistema donde corre el proyecto. Mediante 0,0, como bien dices me devuelve (antes de ejecutar el proyecto) la resolución a la que se está trabajando actualmente, sobreentendiendo que si el jugador tiene esa resolución en su pantalla debe ser la más correcta para su monitor.

no, no, lo que devuelve al iniciar (solo en ultimas versiones, no siempre fue asi, en otras versiones es otra resolucion), es la resolucion actual, no es ni la mejor ni la mas alta, solo la actual...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12756
  • Karma: 375
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Arcontus

  • Sr. Member
  • ****
  • Mensajes: 278
  • Karma: 9
Re:Full HD sobresale de la pantalla
« Respuesta #11 en: Enero 26, 2018, 10:20:16 pm »
graphic_info no te sirve para detectar la resolucion de pantalla, solamente sirve para info de los graficos y si usas 0,0, la info del set_mode actual... lo que no significa resolucion del monitor...

por otro lado, tenes get_modes() y mode_is_ok() para verificar modos de video validos... aunque puede que en algunos dispositivos (como algunas consolas portatiles) SDL informe modos que no se pueden renderear... esto no me paso en PC...
De alguna manera quería averiguar la resolución a la que está configurada la pantalla del sistema donde corre el proyecto. Mediante 0,0, como bien dices me devuelve (antes de ejecutar el proyecto) la resolución a la que se está trabajando actualmente, sobreentendiendo que si el jugador tiene esa resolución en su pantalla debe ser la más correcta para su monitor.

no, no, lo que devuelve al iniciar (solo en ultimas versiones, no siempre fue asi, en otras versiones es otra resolucion), es la resolucion actual, no es ni la mejor ni la mas alta, solo la actual...
Si, te entendí SplinterGU. A lo que me refiero es que si tienes configurada la resolucion de tu SO a una en concreta, quiero que mi juego al iniciarse mantenga esa misma resolución ya que con toda probabilidad  será la más adecuada para tu pantalla excepto cuando sucede esto de que sobresale por los margenes.
De todas maneras probaré a ejecutar el código que referencias del otro menaje para ver que devuelve y posteo aquí el resultado.
TODO: probar lo del ppp de panreyes, ejecutar el codigo de splinterGU, postear resultados. :)



Drumpi

  • Hero Member
  • *****
  • Mensajes: 6273
  • Karma: 160
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re:Full HD sobresale de la pantalla
« Respuesta #12 en: Enero 27, 2018, 01:25:44 am »
Es que probablemente, al hacer SET_MODE, estás estableciendo la resolución de pantalla a 1280x768, pero al hacer scale_resolution = 19201080, la resolución sigue igual, pero todos los gráficos se reescalan a 1920x1080.
Haz la prueba de ejecutar algo a SET_MODE 1920x1080 de forma nativa, y ese mismo código, después, a 1280x768 con scale_resolution = 19201080, por si acaso.

Sé que si se usa scale2X y demás, sí funciona bien, se modifica la resolución al doble, pero con scale_resolution no lo he comprobado y puede que venga de ahí tu problema.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

panreyes

  • Administrator
  • *****
  • Mensajes: 2154
  • Karma: 74
    • panreyes.com
Re:Full HD sobresale de la pantalla
« Respuesta #13 en: Enero 27, 2018, 11:35:34 am »
Os voy a banear a todos por ensuciar el hilo, seguro que es cosa de los DPI y yastá xD

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12756
  • Karma: 375
Re:Full HD sobresale de la pantalla
« Respuesta #14 en: Enero 28, 2018, 06:32:23 am »
graphic_info no te sirve para detectar la resolucion de pantalla, solamente sirve para info de los graficos y si usas 0,0, la info del set_mode actual... lo que no significa resolucion del monitor...

por otro lado, tenes get_modes() y mode_is_ok() para verificar modos de video validos... aunque puede que en algunos dispositivos (como algunas consolas portatiles) SDL informe modos que no se pueden renderear... esto no me paso en PC...
De alguna manera quería averiguar la resolución a la que está configurada la pantalla del sistema donde corre el proyecto. Mediante 0,0, como bien dices me devuelve (antes de ejecutar el proyecto) la resolución a la que se está trabajando actualmente, sobreentendiendo que si el jugador tiene esa resolución en su pantalla debe ser la más correcta para su monitor.

no, no, lo que devuelve al iniciar (solo en ultimas versiones, no siempre fue asi, en otras versiones es otra resolucion), es la resolucion actual, no es ni la mejor ni la mas alta, solo la actual...
Si, te entendí SplinterGU. A lo que me refiero es que si tienes configurada la resolucion de tu SO a una en concreta, quiero que mi juego al iniciarse mantenga esa misma resolución ya que con toda probabilidad  será la más adecuada para tu pantalla excepto cuando sucede esto de que sobresale por los margenes.
De todas maneras probaré a ejecutar el código que referencias del otro menaje para ver que devuelve y posteo aquí el resultado.
TODO: probar lo del ppp de panreyes, ejecutar el codigo de splinterGU, postear resultados. :)

eso si... ahora te entendi...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2