问题标签 [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.
android - 使用 gralloc 方法从 Tegra 2 GPU 捕获屏幕
Tegra 2/3 SOC 不使用通常的 /dev/graphics/fb0 dev 提供对帧缓冲区的访问。似乎仍然可以使用 gralloc 方法捕获帧缓冲区,实际上一些应用程序已经使用这种方法。
似乎 Nvidia 有一个补丁允许从 gralloc 读取。来源可以在这里找到。它已经很老了,到目前为止,android 已经发生了很多变化。
最新版本的 android 是否提供任何读取 gralloc 缓冲区的方法?
android - 触摸设备“atmel-maxtouch”在带有 Tegra 2 的 Android Ice Cream Sandwich 中不起作用
我需要构建内核或修改 idc 设备。还可以使内核从 HC 反向移植到 ICS。我该如何解决这个问题?
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 个带纹理的三角形条形四边形。
如果你能指出我正确的方向,我会很激动,一个星期的大部分时间里,我一直在用头撞砖墙。
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:降低相机预览分辨率可以让它稍微快一些,但它仍然慢得令人讨厌。
android - Android上的OpenGL线段光栅化
设p a为 (0.5, y ) 处的点,p b为 (5.5, y ) 处的点。如果我们画一条从p a到p b的线段,我们会在x轴上得到一个 5 像素的线段。问题是这些像素到底在哪里?
当p a和p b位于片段中心时,片段的这种表征通过一个修改简化为 Bresenham 算法:在此描述中产生的线是“半开的”,这意味着最终片段(对应于p b)未绘制。
如果我们从p a到p b画一段,我们得到像素 1 到 5(x坐标)。p a位于第一个像素的中心,p b位于第 6 个像素的中心。如果我们从p b到p a我们得到 2 到 6。这就是我在 iPhone 4s 上得到的结果。但在 Android(Nexus 7和 emulator)上,结果始终是 1 到 5(方向无关紧要)。绘图代码完全相同(使用NDK)。
所以问题是哪种行为是正确的?我应该使用什么解决方法在两个系统上获得相同的结果?
编辑
在 Mac OS 上,如果您运行以下代码(使用简单的NSOpenGLView
子类):
你得到这个结果:
所以这是预期的结果。似乎 Nexus 7 对规范有不同的解释,或者我可能需要启用一些特殊设置。
编辑2:
我的模拟器不适合屏幕,它正在重新调整屏幕输出,它产生了一种假象,即模拟器与设备有同样的问题。通过 DDMS 截屏后,很明显模拟器产生了预期的结果:
但设备正在产生以下结果:
要重现此问题,请将 gl_code.cpp 文件的内容替换为以下代码并运行hello-gl2 ndk 示例项目。
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
我认为垃圾收集器是并发的,所以它也需要一个核心,这是造成大变化的原因吗?
为什么有时性能甚至比顺序版本差很多?
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 的信息也会很棒。
android - fwidth() tegra 3 glsl
这是该程序在 Tegra 3 设备上渲染几个四边形的结果:
我使用的纹理是一个空的、透明的 png,但无论我在这个纹理中放什么,这些线框总是可见的。
Mali-400 设备上的相同代码可以正常工作。谁能告诉我 Tegra fwidth 实现是否正确或我的代码有问题?上面的代码只是一个例子,只显示了着色器的错误部分。
android - 网格对象有故障,但仅在 Tegra 3 设备上
您好,我在 Tegra 3 设备上的渲染非常有问题。知道这怎么可能?这是两个屏幕。第一个是华硕A510平板电脑的故障,第二个是我的galaxy nexus上的正确渲染
这是我的渲染类代码:
谢谢你...
c++ - CUDA 支持 NVIDIA Tegra 4 处理器?
我找不到任何关于在 Tegra 处理器上使用 CUDA 的信息,尽管它们提供了相当多的 SIMD 内核(~72)。似乎 NVIDIA 目前通过 Tegra 开发套件(基于 Android)将开发工作重点放在 Tegra 上。
所以我的问题是:“是否可以在 Tegra 4 或以前的版本上使用 CUDA(或 OpenCL),如果可以,支持哪个版本?”