得到一个奇怪的错误代码 - Java返回:-1073740791

时间:2018-06-14 01:57:44

标签: java opengl lwjgl

首先,让我说几个月前这个代码在49 FPS左右运行良好。从那时起,一个重大变化就是我从Windows 7“升级”到10。

我的系统非常好:

  • i7-3770K处理器(有点过时,但仍然很好)
  • 32GB RAM
  • GTX 970 4GB显卡
  • 多个SSD

我已经研究了这个问题好几个小时了,并提出了一些人们试过的修复方法。有趣的是,大多数集中在1月下旬 - 2017年2月初。

  • 升级到最新的NVIDIA驱动程序(或降级)
  • 确保“Main”指向正确的班级
  • 验证所有环境变量设置正确
  • 验证所需的所有库是否已导入核心

这些都没有解决我的问题。

有关我的代码和代码样式的一些细节。这个项目是我多年来一直致力于使用LWJGL 2.9.3库通过Java和OpenGL创建完整3D引擎的大型项目的一部分。我的代码结构的方式是我将每个概念组织成单独的库,然后我将其导入到我正在处理的任何项目中。

例如,我有一个名为“Foundations”的库,它处理打开OpenGL窗口本身,从外部文件加载设置,以及跟踪时间增量和FPS。另一个示例库是“Text2D”,它处理向屏幕显示文本。

这样,我可以更有效地追踪错误。每个库都有自己的测试和诊断类,以验证库是否按预期工作。通常,许多不同的库对某些特定的其他库具有依赖性,因此可以进一步独立地验证该测试。

问题:

我遇到麻烦的人被称为“实体”,它处理将3D物体放入世界。正如我之前所说,我之前已经使用过此代码,无法确定出现了什么问题。

代码分为设置和测试部分。设置代码生成一个对象网格,供我环顾四周,并与阳光源等基础一起移动。测试代码只是为每个对象添加一个小旋转,以便它们旋转到位。

现在,当我的测试代码运行时,我看到显示窗口中生成的对象很好,在加载时填充新对象和纹理。我每帧平均得到2-4秒。 (是的,秒/帧)

在43秒到92秒之间,产生大约12-15帧,它失败并给我以下错误信息:

C:\Users\Zaanzabar\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: -1073740791
BUILD FAILED (total time: 43 seconds)

通过插入大量输出消息并确定在某些消息之后哪些行是正确的,我已经跟踪了导致速度减慢的特定代码行。

当我将纹理加载到程序中时,一切都会顺利而迅速地运行直到它到达该行:

glGenerateMipmap(GL_TEXTURE_2D);

这些并不是大纹理,我认为最大的纹理是PNG格式的512x512。我使用SlickUtil将它们加载到OpenGL中。

一旦我完成加载纹理,它就会在该行暂停大约相同的时间:

Display.update();

然后最终崩溃。这两行代码都是openGL功能,而不是我的代码的一部分,所以我遇到了一个关于从这里看哪里的问题。

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

它实际上是一个NetBeans问题,它基本上说在run.xml中存在问题

  

C:\用户\ Zaanzabar \应用程序数据\本地\的NetBeans \缓存\ 8.2 \执行人-片段\ run.xml

既然你已经提到你已经更新了你的窗口,我猜测必须更改的元数据被删除,所以Netbeans基本上找不到你的主类因此抛出错误,你确实提到一切正常,所以它不能成为依赖问题。

这谈到了同样的问题 Netbeans not running my project

<强>解决方案
尝试在命令行上运行代码

javac YourMain.java <br>
java Yourmain

或者在另一个IDE上,如果可以

如果工作正常,那么它确实是一个NetBean问题:) 您可以直接运行主类,或者通过转到项目的属性选项卡提及项目文件夹中的主类

希望有所帮助:)