Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Image.getGraphics()导致崩溃_Java_Opengl_Slick2d - Fatal编程技术网

Java Image.getGraphics()导致崩溃

Java Image.getGraphics()导致崩溃,java,opengl,slick2d,Java,Opengl,Slick2d,每当我在全屏模式下使用org.newdawn.slick.Image中的方法getGraphics(),它都会导致崩溃。它在窗口模式下工作得非常好,我也尝试过像Graphics g=new Image(100100).getGraphics(),这也会导致崩溃 我正在使用Slick2D 这是我得到的输出: Tue May 07 14:58:08 CEST 2013 INFO:Slick Build #264 Tue May 07 14:58:09 CEST 2013 INFO:LWJGL Ver

每当我在全屏模式下使用org.newdawn.slick.Image中的方法
getGraphics()
,它都会导致崩溃。它在窗口模式下工作得非常好,我也尝试过像
Graphics g=new Image(100100).getGraphics()
,这也会导致崩溃

我正在使用Slick2D

这是我得到的输出:

Tue May 07 14:58:08 CEST 2013 INFO:Slick Build #264
Tue May 07 14:58:09 CEST 2013 INFO:LWJGL Version: 2.9.0
Tue May 07 14:58:09 CEST 2013 INFO:OriginalDisplayMode: 1366 x 768 x 32 @59Hz
Tue May 07 14:58:09 CEST 2013 INFO:TargetDisplayMode: 640 x 480 x 32 @59Hz
Tue May 07 14:58:10 CEST 2013 INFO:Starting display 640x480
Tue May 07 14:58:10 CEST 2013 INFO:Use Java PNG Loader = true
Tue May 07 14:58:10 CEST 2013 INFO:Controllers not available
Tue May 07 14:58:10 CEST 2013 INFO:Offscreen Buffers FBO=true PBUFFER=true PBUFFERRT=false
Tue May 07 14:58:10 CEST 2013 DEBUG:Creating FBO 320x240
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x50576337, pid=2120, tid=2300
#
# JRE version: 7.0_17-b02
# Java VM: Java HotSpot(TM) Client VM (23.7-b01 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  [ig4icd32.dll+0x406337]  ShGetUniformLocation+0x2581e7
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# C:\Users\Dadibom\workspace\Game\hs_err_pid2120.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#    
我尝试过不同的图像、不同的分辨率、不同的帧率等等,但在全屏显示时什么都不起作用


我已经尝试更新我的驱动程序,但没有运气

我认为问题在于,当您试图将屏幕保存为图像时,您的GPU超载了

在网上仔细研究一下,你可能会发现你的电脑在大多数任务中都使用了一个轻量级(低功耗)的集成GPU,并且应该切换到一个专用GPU来处理游戏之类的事情。问题是你的Slick2D游戏没有触发从集成GPU到专用GPU的切换

您可以在另一个Java游戏的帖子中阅读更多内容:

建议的解决方案是告诉Nvidia为Java应用程序使用专用GPU

在上面的论坛帖子中,Brash_Endevors为您介绍了一段精彩的视频演练:

如果您提供了导致crashIt的方法getGraphics()的代码,那将非常有用!但这也取决于上下文。您正在设置一些OpenGL参数吗?我正在使用Slick2D并使用“标准”初始化代码公共静态void main(字符串[]args)抛出SlickException{AppGameContainer app=new AppGameContainer(new Game(),screenWidth,screenHeight,false);app.setTargetFrameRate(60);app.setVSync(true);app.setShowFPS(false);app.start();}问题似乎出在共享库ig4icd32.dll中。这是一个用于opengl的英特尔库。也许你可以试着重新安装你的图形驱动程序。