Hola, buenas.
A ver, les cuento la historia.
Resulta que todo mi juego lo he venido haciendo para resolución de 1920x1080; las salas, vistas, imágenes, todo está hecho para esta resolución.
Ahora bien, mi pc es 1600x900 y ni siquiera tiene tarjeta gráfica dedicada (vamos, es una mierda), por lo que el juego suele andar un poco lageado. No presté atención a eso hasta que compilé y probé para mi táblet Android, que es peor aún (800x450, creo). El juego iba pero lagueadísimo, injugable.
Gracias a esto, se me ocurrió la idea de redimensionar automáticamente la application_surface y permitir al jugador escojer la calidad (un múltiplo entre 0.5 y 1, ya lo explico), todo basándose en la resolución real (display_get_width() y la otra) del dispositivo.
Esto es lo que programé:
[gml]
var quality = ini_read_real("settings", "quality", 1);
var width = display_get_width ();
var height = display_get_height();
width = min(width, view_wview[0]) * quality;
width = floor(width/16) * 16;
height = floor(width*9/16);
surface_resize(application_surface, width, height);
[/gml]
Ya ven, quality la lee desde un archivo ini, que el usuario en su menú de opciones establece de 0.5 a 1 con un deslizador.
En general funciona bien: Con calidad 1, la surface se redimensiona al tamaño original del dispositivo (manteniendo la relación 16:9), y con calidad 0.5 se redimensiona a la mitad. Con esto, a menor calidad, más velocidad y fluidez tiene el juego; diría que fue un éxito, peeero...
El problema es que algunas texturas se pintan con bordes, como si la textura se agarrara a medias y se repitiera un pedacito. Este error varía dependiendo de la calidad que se escoja, y con algunos valores no sucede, pero en mi pc (1600x900) se nota mucho con la calidad inicial (1), como se ve a continuación:
(https://image.prntscr.com/image/cj-M9rxGT8i7aLfFJmX9zQ.png)
(En esta imagen se ve una línea blanca en el agua)
Con algunas otras calidades, como 0.89, el error se nota hasta en los barcos, como esta imagen:
(https://image.prntscr.com/image/Rkq_QeNJS2_wOiEfiuZfvQ.png)
(Ésta la tomé desde la táblet, se ve una línea café sobre el barco)
La verdad no tengo ni la más mínima idea de lo que pueda suceder, o de qué esté haciendo mal.
Agradecería su ayuda.
¡Saludos! :D
A mi me ha pasado ese problema con las imágenes con mayor resolución a la de texture pages.
Intenta ir a Global game settings, en android, graphics y en texture pages coloca 2048x2048 (ya que tu juego esta basando en una resolucion 1920x1080).
También prueba ir a global game settings en texture groups, a los grupos de las texturas habilita la opción "texture group NOT scaled"
Si un background no está hecho para repetirse continuamente, desmarca las opciones Tile: Horizontal y Tile: Vertical.