我正在使用处理核心库的a source-code visualization project。处理库可以选择使用jogl OpenGL库来渲染真正提高性能的图形。但是,jogl使用的JNI文件不一定在运行时可用,具体取决于谁在使用项目以及在哪个平台上。
目前我们只是让用户指定他们是否想要使用OpenGL,但是如果我们默认使用OpenGL显然会更好,并且只有当它不可用时才会回退到软件渲染。处理库似乎没有这么简单,你只应该指定一次渲染器,并且更改渲染器会给出新的行为。
知道如何确定jogl的必要JNI是否可用并在运行时工作?
答案 0 :(得分:2)
简单地尝试使用loadClass使用ClassLoader加载类,并捕获ClassNotFound异常和UnsatisfiedLinkError以执行回退功能。
答案 1 :(得分:0)
确保使用Jogl的另一种简洁方法是通过JNLP进行部署。您可以将Jogl包含为远程依赖项,Java启动程序将自动获取相应的本机版本。