我正在制作一个小型的Java游戏库,我想为更多面向Java的绘图制作绘图代码,而不是调用一些C++方法来绘制API。无论如何,我担心它可能会比其他图形API更慢。那么这会是一个不错的选择吗?另一个问题是我找不到一个有用的OpenCL教程(我需要先学习它),有人知道吗?OpenCL是OpenGL和DirectX的快速替代品吗?
-2
A
回答
5
OpenCL是而不是一个图形API。它并不意味着渲染,并且它通常不会做得很好。
此外,OpenCL并不比OpenGL更“面向Java”。它仍然是一个基于C的API,所以你仍然会“调用一些C++方法来吸引API”。
2
嘛,OpenCL不是gpraphics API,但异构计算架构,可以使用你的显示卡(或其他特定的设备),以使非图形计算(GPGPU),类似于DirectCompute,Compute shader in OpenGL,CUDA等。 它不是面向对象的,因为使用纯C接口。虽然可以找到绑定(对于java:JOCL)。
0
另外;你知道有几个很好的面向对象的java图形库。例如Jmonkey引擎。据我所知,如果你想要与图形卡交谈的快速图形,你必须通过OpenGL *(与openCL不同,它是用于图形)。所有的java API都是在后台执行的,像LWJGL这样的功能非常薄,基本上只是将OpenGL的方法暴露给Java:根本没有任何对象方向。其他人在没有用户实现其OpenGL的情况下这样做,这些往往是“场景图”类型的图形引擎,并且完全以对象为导向。
如果你想要为最终用户创建“感觉像java”的东西,但是在底层使用OpenGL,我会先从LWJGL开始,然后再构建它。这是JMonkey引擎所做的。
所有这一切都假设你在3D中工作,如果你在2D中工作,那么性能不太可能成为问题。
所以要回答你的问题,如果一个完整的Java图形解决方案是一个好主意: 它不会与图形卡交谈,所以你会依靠你的CPU来完成这项工作; 在2D中:这可能是好的,但速度会更慢,但速度比非常快仍然非常快。 在3D中:我怀疑你可以在任何现实场景下以实时速度工作。
*或directX,但您也会遇到同样的问题
相关问题
- 1. 快速替代SortedMap.mapValues
- 2. 快速替代`resize`?
- 3. MVVM是Expression Blend的替代品吗?
- 4. Kinesis Firehose是Kinesis Streams的替代品吗?
- 5. Future.get()是Thread.join()的替代品吗?
- 6. 这是KProf的最佳替代品吗?
- 7. WPF是WinForms的替代品吗?
- 8. 快速替代Flash Builder
- 9. 快速替代到grep -f
- 10. document.title的替代品吗?
- 11. 混合DirectX和OpenGL
- 12. 替代和快速替换android中的findViewById
- 13. 对于简单渲染:OpenCL比OpenGL快吗?
- 14. 什么是:: shadow和/ deep /的替代品?
- 15. db4o和替代品
- 16. 用php代替'with'的快速函数
- 17. Iphone4和GPS的替代品
- 18. Sys.getTime()和Sys.getTimerResolution()的替代品?
- 19. Autoconf和Autotools的替代品?
- 20. rspec和shoulda - 补充还是替代品?
- 21. 快速捕捉OpenGL framebuffer?
- 22. 快速替代写很多bools
- 23. @“”的替代品?
- 24. jQuery Tools Scrollable的替代品吗?
- 25. 你知道Buildix的替代品吗?
- 26. Node.js作为Rails的替代品吗?
- 27. 什么是iframe替代品?
- 28. 什么是APC替代品?
- 29. 是否存在快速且可预测的`SendKeys`替代方案?
- 30. Dreamweaver和PHP(替代品)