0

每当我在全屏模式下使用该方法getGraphics()org.newdawn.slick.Image,它都会导致崩溃。它在窗口模式下工作得很好,我试过做类似的东西Graphics g = new Image(100,100).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.
#    

我尝试了不同的图像、不同的分辨率、不同的帧速率等,但在全屏时没有任何效果。

我试过更新我的驱动程序,但没有运气!

4

1 回答 1

0

我认为问题只是当您尝试将屏幕另存为图像时您的 GPU 过载。

在网上进行一些挖掘表明您可能正在使用一台使用轻量级(且低功耗)集成 GPU 来完成大多数任务的计算机,并且应该切换到专用 GPU 来完成游戏等任务。那么问题是您的 Slick2D 游戏没有触发从集成 GPU 到专用 GPU 的切换。

您可以在此线程中阅读更多关于另一个 Java 游戏的内容:http:
//forum.wurmonline.com/index.php? /topic/71698-2fps-and-crashing/?p=708815

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

在上面的论坛帖子中,Brash_Endevors 为您提供了一个很好的视频演练:
http ://www.frequency.com/video/how-to-whitelist-game-with-nvidias/24814032

于 2013-05-21T16:38:02.523 回答