Java Image.getGraphics()导致崩溃
每当我在全屏模式下使用org.newdawn.slick.Image中的方法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
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的英特尔库。也许你可以试着重新安装你的图形驱动程序。