2017-06-15 7 views
2

最近LibGDXゲームを実行すると、ブートには20秒かかりますが、これはいくつかのリソースをロードするだけなので奇妙です。私はアプリが立ち往生し、それは私がこの行を呼び出すときに、それが立ち往生だ判明どこ特定するために私のメインメソッドにブレークポイントを置く:Lwjgl3ApplicationコンストラクタでLibGDXアプリケーションinitializGlfw()に掛ける

new Lwjgl3Application(new GdxGame(), config);

を、それがこのメソッドの呼び出しに掛かっていますこの中

static void initializeGlfw() { 
     if (errorCallback == null) { 
      Lwjgl3NativesLoader.load(); 
      errorCallback = GLFWErrorCallback.createPrint(System.err); 
      GLFW.glfwSetErrorCallback(errorCallback); 
      if (!GLFW.glfwInit()) { 
       throw new GdxRuntimeException("Unable to initialize GLFW"); 
      } 
     } 
    } 

::次のようになります

initializeGlfw();

方法はcreatePrintGLFW.glfwInit()に固執します。印刷方法は次のようになります。

public static GLFWErrorCallback createPrint(PrintStream stream) { 
     return new GLFWErrorCallback() { 
      private Map<Integer, String> ERROR_CODES = APIUtil.apiClassTokens((field, value) -> 0x10000 < value && value < 0x20000, null, GLFW.class); 

      @Override 
      public void invoke(int error, long description) { 
       String msg = getDescription(description); 

       stream.printf("[LWJGL] %s error\n", ERROR_CODES.get(error)); 
       stream.println("\tDescription : " + msg); 
       stream.println("\tStacktrace :"); 
       StackTraceElement[] stack = Thread.currentThread().getStackTrace(); 
       for (int i = 4; i < stack.length; i++) { 
        stream.print("\t\t"); 
        stream.println(stack[i].toString()); 
       } 
      } 
     }; 
    } 

これらの方法はすべてLwjglライブラリからのものです。誰も私のアプリがこれらのメソッド呼び出しに執着しているかもしれない理由を知っていますか?

答えて

0

私は同じ問題を抱えており、あなたがいるマシンに縛られています。私はGLFWできれいなVS15ソリューションを作って、いくつかの異なるPC上で走らせて、私のデスクトップだけがこの問題を抱えていたことを知りました。私はまた、GLFWのLWJGL結合をテストし、同じ結果を得ました。

[EDIT]待ち時間は(glfwInitに起こる)があり、私はこれと同様の問題に言及しているOpenGLのフォーラムのアーカイブpost出くわしつのポストがあるが、それはかなり古いです

/* Initialize the library */ 
if (!glfwInit()) // stuck here 
    return -1; 

/* Create a windowed mode window and its OpenGL context */ 
window = glfwCreateWindow(1920, 1080, "Hello World", NULL, NULL); 

を呼び出し、少し異なる問題を指しているかもしれません。

ビルドフォルダをウイルス対策から除外していることを確認することをお勧めします。生成された実行ファイルが潜在的な脅威として表示されることがあるため、遅くなる可能性があります。

悲しいことに、VRヘッドセットを接続して数日後に再び現れたときに、不思議なことにバグが突然現れてしまいましたが、私のために働いたのは悲しいことです。あなたが私よりも運が良ければ、あなたのOSをきれいにしなくてはならないと思います。

+0

スチームクラッシュが発生し、ゲームをロードしようとすると、実際にはゆっくりと進みます。コンピュータを再起動するだけで問題は解決します。 –