问题标签 [tegra]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
626 浏览

android - 使用 gralloc 方法从 Tegra 2 GPU 捕获屏幕

Tegra 2/3 SOC 不使用通常的 /dev/graphics/fb0 dev 提供对帧缓冲区的访问。似乎仍然可以使用 gralloc 方法捕获帧缓冲区,实际上一些应用程序已经使用这种方法。

似乎 Nvidia 有一个补丁允许从 gralloc 读取。来源可以在这里找到。它已经很老了,到目前为止,android 已经发生了很多变化。

最新版本的 android 是否提供任何读取 gralloc 缓冲区的方法?

0 投票
1 回答
1394 浏览

android - 触摸设备“atmel-maxtouch”在带有 Tegra 2 的 Android Ice Cream Sandwich 中不起作用

我需要构建内核或修改 idc 设备。还可以使内核从 HC 反向移植到 ICS。我该如何解决这个问题?

0 投票
0 回答
885 浏览

android - ICS 下的 Android OpenGL ES 1.1 性能不佳 - eglSwapBuffers 耗时 60+ms

我目前正在开发一个 opengl ES 1.1 游戏,最小 sdk 8,目标 sdk 17,我看到我可以访问的 4.0.3 平板电脑上的 eglSwapBuffers 出现异常大的延迟,这不会出现在新旧版本的 android 上. 我也很幸运能够使用两台华硕变压器 T101,其中一台正在运行 Honeycomb,因此可以排除这是硬件的限制。

下表显示了许多设备及其性能。

可以看到,即使是古老的单核 GTP1000 的帧率也是双核 4.0.3 设备的两倍。

我正在运行 4 个线程,一个 2D 画布、GL、UI 和一个每 200 毫秒更新一次 AI 的心跳。在 GL 线程上的 eglSwapBuffers 调用期间,CPU 几乎什么也没做。感觉就像我正在触发某种节能或 GPU 节流,但我无法找到任何有关此的信息。

如果所有其他操作不花费任何成本,仅交换缓冲区所花费的时间就会将帧速率限制在 <15FPS。我每帧绘制 150 个带纹理的三角形条形四边形。

如果你能指出我正确的方向,我会很激动,一个星期的大部分时间里,我一直在用头撞砖墙。

0 投票
1 回答
479 浏览

android - Android相机滤镜在tegra gpus上很慢,但在其他人上很快

我正在开发一个应用程序,对 GPU 上的相机预览流进行实时过滤(OpengGL ES 2.0)。它类似于著名的应用程序“纸相机”(付费)和“卡通相机”(免费)。

它在我的 Galaxy s2 上运行良好且速度非常快,在 s3 上甚至更快,在旧的三星设备上也可以。我还在 Sony Xperia Arc S 和 htc 的欲望上以及我不记得的其他几台设备上对其进行了测试,在这些设备上它的速度不如我的 s2 但至少高于 10 fps。

现在问题来了:昨天我能够在 HTC One X+ 和 Galaxy Tab 10.1(分别为 tegra 3 和 tegra 2)上测试它。在 x+ 上,它以大约 5 fps 的速度运行,在平板电脑上以大约 2 fps 的速度运行。

我还在 x+ 上尝试了前面提到的类似应用程序(纸质相机和卡通相机),与我的 Galaxy s2 相比,它们的运行速度也慢得多,尽管由于硬件更好,它们应该运行得更快。

tegra GPU 是否存在与纹理上传速度有关的已知问题(我必须为每个视频帧创建一个纹理)或其他可以大大降低速度的问题?

PS:降低相机预览分辨率可以让它稍微快一些,但它仍然慢得令人讨厌。

0 投票
1 回答
498 浏览

android - Android上的OpenGL线段光栅化

p a为 (0.5, y ) 处的点,p b为 (5.5, y ) 处的点。如果我们画一条从p ap b的线段,我们会在x轴上得到一个 5 像素的线段。问题是这些像素到底在哪里?

根据OpenGL ES 2.0 规范 3.4.1

p ap b位于片段中心时,片段的这种表征通过一个修改简化为 Bresenham 算法:在此描述中产生的线是“半开的”,这意味着最终片段(对应于p b)未绘制。

如果我们从p ap b画一段,我们得到像素 1 到 5(x坐标)。p a位于第一个像素的中心,p b位于第 6 个像素的中心。如果我们从p bp a我们得到 2 到 6。这就是我在 iPhone 4s 上得到的结果。但在 Android(Nexus 7和 emulator)上,结果始终是 1 到 5(方向无关紧要)。绘图代码完全相同(使用NDK)。

所以问题是哪种行为是正确的?我应该使用什么解决方法在两个系统上获得相同的结果?

编辑

在 Mac OS 上,如果您运行以下代码(使用简单的NSOpenGLView子类):

你得到这个结果: 在此处输入图像描述

截屏

所以这是预期的结果。似乎 Nexus 7 对规范有不同的解释,或者我可能需要启用一些特殊设置。

编辑2:

我的模拟器不适合屏幕,它正在重新调整屏幕输出,它产生了一种假象,即模拟器与设备有同样的问题。通过 DDMS 截屏后,很明显模拟器产生了预期的结果:模拟器

但设备正在产生以下结果:关系_7

要重现此问题,请将 gl_code.cpp 文件的内容替换为以下代码并运行hello-gl2 ndk 示例项目。

0 投票
1 回答
227 浏览

java - 什么原因导致Android系统上多线程Java程序的性能变化?

我尝试在 Google Nexus 7 上运行多线程 Java 程序(MapReduce 风格),并用

我发现性能变化很大(Tegra 3 w/4 cores 上有 4 个线程),如下所示:

704 872 729 729 1086 778 1214 1045 749 768

但是,当我使用顺序版本时,我得到了这样的稳定​​数据:

928 851 850 842 863 917 873 905 853 870

我认为垃圾收集器是并发的,所以它也需要一个核心,这是造成大变化的原因吗?

为什么有时性能甚至比顺序版本差很多?

0 投票
1 回答
2989 浏览

arm - 由 ARM Cortex-A9 制成的 SoC 的典型 L1 和 L2 访问延迟

我正在寻找由 ARM Cortex-A9 处理器(例如具有多个 ARM A9 处理器的 Nvidia Tegra 2 和 Tegra 3)制成的 SoC 的 L1 访问延迟和 L2 访问延迟。

我可以找到有关这些架构的 L1 和 L2 大小的一些信息,但我找不到有关 L1 和 L2 访问延迟的太多信息。我发现的唯一可靠信息是“在 Tegra 3 上,L2 缓存延迟比 2 快 2 个周期,而 L1 缓存延迟没有改变。”

这里提到 Tegra 2 上的 L2 有 25 个周期的延迟,这里提到 L1 有 4 个周期的延迟,L2 有 31 到 55 个周期的延迟。这些参考资料都不是完全可靠的。我希望在 Nvidia、TI 和 Qualcomm 网站和技术文档上找到更多信息,但没有成功。

编辑:OMAP4460 和 OMAP4470 等类似 SoC 的信息也会很棒。

0 投票
1 回答
788 浏览

android - fwidth() tegra 3 glsl

在此处输入图像描述

这是该程序在 Tegra 3 设备上渲染几个四边形的结果:

我使用的纹理是一个空的、透明的 png,但无论我在这个纹理中放什么,这些线框总是可见的。

Mali-400 设备上的相同代码可以正常工作。谁能告诉我 Tegra fwidth 实现是否正确或我的代码有问题?上面的代码只是一个例子,只显示了着色器的错误部分。

0 投票
1 回答
123 浏览

android - 网格对象有故障,但仅在 Tegra 3 设备上

您好,我在 Tegra 3 设备上的渲染非常有问题。知道这怎么可能?这是两个屏幕。第一个是华硕A510平板电脑的故障,第二个是我的galaxy nexus上的正确渲染

故障 Tegra 3

在 gnex 上正确渲染

这是我的渲染类代码:

谢谢你...

0 投票
2 回答
3946 浏览

c++ - CUDA 支持 NVIDIA Tegra 4 处理器?

我找不到任何关于在 Tegra 处理器上使用 CUDA 的信息,尽管它们提供了相当多的 SIMD 内核(~72)。似乎 NVIDIA 目前通过 Tegra 开发套件(基于 Android)将开发工作重点放在 Tegra 上。

所以我的问题是:“是否可以在 Tegra 4 或以前的版本上使用 CUDA(或 OpenCL),如果可以,支持哪个版本?”