C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – Android上实时图形编程的最佳语言是什么?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有些谷歌搜索引导我相信C是实时2D图形编程的最佳语言,但是由于 Android基于Java的,那还是最好的选择?还是我们这个事实,我不得不使用NDK来减慢或者什么?我的程序也有很多科学计算,我知道C是最好的/最快的…

我以前从来没有做过任何事情,所以我真的很无奈.如果我正在做错误方法,请给我其他建议…我遇到的其他一些词汇是OpenGL(我有经验,但更重要的是3D,对吗?)和Canvas(不要相当得到这个)?如果我能够访问类似GPU的功能,那将是巨大的.

解决方法

Android应用程序是Java编写的,是的 – 但是,通过Android NDK,您可以在C或C中编写程序的性能关键部分.从Android NDK website,

也就是说,适当地使用NDK很可能不会减慢你的程序.

OpenGL适用于3D和2D图形 – 如果您只对2D感兴趣,您将需要使用正交投影来查看更多信息,请参阅glOrtho.另一方面,Android Canvas是将栅格图形绘制到屏幕的Java方法.它将让您渲染2D图形,但速度较慢(并且来自Android垃圾收集器的频繁中断).

请记住,如果要使用C,写入时没有STL实现可用.然而,有非官方的端口提供大部分的功能. STLPort我试过一些成功的.将代码移动到C/C++的最大原因是因为Android Java垃圾收集器的中断 – 如果您不太注意代码,则会频繁地中断您的程序,以清理您所遗留的对象.在实践中,这可以极大地限制游戏或模拟的帧率.

所有这一切,我强烈建议你看看几个开源Android游戏引擎之一.我尝试过的最好的是libGDX.它负责处理所有凌乱的NDK细节,让您可以使用Java编写您的游戏/模拟.它以本机代码自动运行游戏引擎的性能很重的部分,以便在Java中轻松编写代码以获得最快的性能.最重要的是,您可以编写一次应用程序代码,并在Windows,Linux,OSX和Android上自动运行,这使得测试应用程序比使用Android Emulator容易得多.

如果您真的想自己查看NDK,或者需要对OpenGL正在做的很好的控制,那么建议您下载Android SDK和NDK,然后再开始使用NDK样本.有一个OpenGL演示,向您展示如何设置所有内容.另一个好的起点就是SpinningCube的google项目.

编辑:我不太确定“像GPU这样的功能”是什么意思,但是使用libGDX,您可以在OpenGL ES 2.0下编译顶点和片段着色器,您可以使用该设备在GPU中运行尴尬的并行代码.

大佬总结

以上是大佬教程为你收集整理的c – Android上实时图形编程的最佳语言是什么?全部内容,希望文章能够帮你解决c – Android上实时图形编程的最佳语言是什么?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。