4

我对 JNI 很陌生,在查看 JNI 时偶然发现了这一点:

本机代码不仅可以与 Java 交互,还可以在 Java Canvas 上绘制,这可以通过 Java AWT Native Interface 实现

是否有特定原因使此功能成为特定/可用?它是否提高了 Windows 系统上的处理时间?请详细说明为什么以及何时使用这种功能

4

2 回答 2

5

Java中的本机性能渲染......游戏将是首先想到的事情,但真正绘制任何计算密集型或需要高帧速率的东西都会受益。

官方Java解释

从本机代码库直接绘制到 Java Canvas 的能力对于计划将遗留软件系统迁移到 Java 的开发人员非常有用,尤其是包含高性能渲染引擎的系统。它使分阶段迁移变得更加容易,只保留对性能敏感的渲染代码,而将其他不太敏感的代码部分转换为 Java。结果可以是一个以 Java 为中心的现代应用程序,提供可移植性和开发效率的好处,但不会牺牲对关键本机代码性能的投资。

于 2014-07-17T02:23:15.227 回答
0

AWT 的 JNI 绘制最常见的用途是使用 OpenGL 或 DirectX D3D 进行 3D 绘制。一些 java 3D API,如 Java3D 和 JOGL 的初始版本,使用 Canvas.java 作为绘图表面。它也可用于 2D 原生渲染,但 Java 绘图功能足以完成此任务。

于 2016-09-20T14:49:58.603 回答