in

opengl – Obteniendo un código de error extraño – Java devuelto: -1073740791

apple touch icon@2

Primero, déjeme decir que este código funcionó perfectamente hace unos meses a unos 49 FPS. desde entonces, una cosa importante que ha cambiado es que «actualicé» de Windows 7 a 10.

Tengo un sistema bastante bueno:

  • Procesador i7-3770K (un poco anticuado, pero bueno)
  • 32 GB de RAM
  • Tarjeta de video GTX 970 de 4GB
  • Varios SSD

He investigado este problema durante horas y he encontrado un par de soluciones que la gente ha probado. Curiosamente, la mayoría se centró entre finales de enero y principios de febrero de 2017.

  • Actualización a los controladores NVIDIA más recientes (o degradación)
  • Asegurarse de que «Main» apunte a la clase correcta
  • Verificar que todas las variables de entorno estén configuradas correctamente
  • Verifique que todas las bibliotecas necesarias se importen correctamente

Ninguno de estos solucionó mi problema.

Algunos detalles sobre mi código y estilo de código. Este proyecto es parte de una empresa masiva en la que he estado trabajando durante años para crear un motor 3D completo a través de Java y OpenGL utilizando las bibliotecas LWJGL 2.9.3. La forma en que está estructurado mi código es que he organizado cada concepto en bibliotecas separadas que luego importo a cualquier proyecto en el que esté trabajando.

Por ejemplo, tengo una biblioteca llamada «Fundamentos» que se encarga de abrir la ventana de OpenGL, cargar configuraciones de archivos externos y rastrear el delta de tiempo y FPS. Otro ejemplo de biblioteca es «Text2D», que se encarga de mostrar texto en la pantalla.

De esta manera, puedo rastrear errores de manera más eficiente. Cada biblioteca tiene sus propias clases de prueba y diagnóstico para verificar que la biblioteca esté funcionando según lo previsto. A menudo, muchas bibliotecas diferentes tienen dependencias con otras específicas y, por lo tanto, esta prueba se puede verificar de forma independiente.

Problema:

El que tengo problemas se llama «Entidad» que se encarga de colocar un objeto 3D en el mundo. Como dije antes, he tenido este código funcionando antes y no puedo imaginar qué salió mal.

El código está dividido en secciones de configuración y prueba. El código de configuración genera una cuadrícula de objetos para que mire a mi alrededor y me mueva junto con los elementos básicos como una fuente de luz solar. El código de prueba simplemente agrega un pequeño giro a cada objeto para que giren en su lugar.

Ahora, mientras se ejecuta mi código de prueba, veo que los objetos generados en la ventana de visualización están bien, llenando nuevos objetos y texturas a medida que se cargan. Obtengo un promedio de 2-4 segundos por cuadro. (sí, segundos / fotograma)

Después de 43 segundos a 92 segundos, generando alrededor de 12-15 cuadros, falla y me da el siguiente mensaje de error:

C:UsersZaanzabarAppDataLocalNetBeansCache8.2executor-snippetsrun.xml:53: Java returned: -1073740791
BUILD FAILED (total time: 43 seconds)

Al insertar mensajes de salida masiva y averiguar qué líneas vienen justo después de ciertos mensajes, he rastreado las líneas específicas de código que están causando la desaceleración.

Mientras cargo texturas en el programa, todo funciona sin problemas y con rapidez hasta que llega a la línea:

glGenerateMipmap(GL_TEXTURE_2D);

Y estas no son texturas grandes, creo que la más grande es 512×512 en formato PNG. Utilizo SlickUtil para cargarlos en OpenGL.

Una vez que termino de cargar las texturas, se detiene aproximadamente la misma cantidad de tiempo en la línea:

Display.update();

Y luego finalmente se bloquea. Ambas líneas de código son características de OpenGL y no forman parte de mi código, así que me he encontrado con un muro sobre dónde mirar desde aquí.

¿Alguien sabe cómo solucionar este problema?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Java – método isLetter ()

HF56rSP7GBmLRJWGBGM9fL 1200 80

Juega como Linkle (también conocido como Link femenino) en Legend of Zelda: Breath of the Wild