0

因此,在 64 位 Ubuntu 上,我正在使用 LWJGL 进行开发,但在 Windows(和 Mac,尽管我测试的更少)上运行良好的代码在我的新机器上出现问题。

基本上,如果我尝试初始化全屏模式,应用程序最终会出现在一个窗口中,而不是接管视图,性能非常慢(大约是应该的 1/2 到 1/3)。

有趣的是,很少(大约 5% 的时间)一切都能完美运行并且性能很好。

在对谷歌做了一些研究之后,这似乎是由于 X Windowing 系统的问题。我在这里找到了一篇文章,建议在设置任何其他内容之前在应用程序中调用 XInitThreads()。不幸的是,我该如何拨打电话?

我意识到我可以使用

Process p = Runtime.getRuntime().exec("The system command goes here");

执行系统命令,但我不知道要使用的命令。

4

1 回答 1

1

不幸的是,您无法使用exec. 进程——在本例中为 JVM 进程——必须进行该调用。您引用的链接描述了 JVM 没有成功的不幸事实。你不可能自己介绍这个。

与 X API 对话是 JVM 的一项基本活动:这就是 AWT 在此环境中的实现方式。由于 JVM 已经在使用 X 与显示器对话,因此您不能只引入一点额外的调用。进行该调用的必要位置是 JVM 中 X init 代码的中间。

OpenJDK 是开源的。你可以制作自己的版本,但我不建议这样做。

于 2011-07-08T15:01:27.687 回答