问题标签 [surfaceflinger]

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 投票
1 回答
1404 浏览

android - 在 Android NDK 中从源代码构建 SurfaceFlinger 并使用测试目录内容

我是 Android NDK 编程的新手。我的问题是如何在 Android NDK 中构建 SurfaceFlinger 库(.so)?我已经从 github 下载了所需的 sufaceflinger 源文件,并尝试使用 ndk-build 命令编译它们,它要求提供一些头文件。

谁能帮助我,如何构建 SurfaceFlinger 共享库并包括所需的头文件。

以及源文件中存在的测试目录中的文件的用途以及如何使用它?

我的目标设备运行的是 Android 4.0.4,而我的系统运行的是 Windows 7(32 位)。

谢谢

0 投票
1 回答
1068 浏览

android - “SurfaceView”在 systrace 结果中代表什么?

在调查游戏卡顿问题时,我发现在游戏中的 eglSwapBuffer() 和 Surfaceflinger 中的 postFramebuffer() 之间,“SurfaceView”总是有一个延迟,从 0.5ms 持续到 10ms,这似乎非常随机且与 CPU 负载无关。这真正代表什么?它与 VSYNC 显示点有关吗?

http://i.stack.imgur.com/n8MvG.png

0 投票
1 回答
444 浏览

android - Android Display Server SurfaceFlinger 用什么语言写的?

Android Display Server SurfaceFlinger 用什么语言写的?Java 或 C。

SurfaceFlinger 和 X11 或 Wayland 在驱动程序方面有哪些主要区别,它们是用什么语言编写的?

0 投票
0 回答
6139 浏览

android - 如何更改 Android OS 默认自然方向?

我的设备 TI am335xevm 运行 android Jellybean 4.2.2,横向作为默认/自然方向。

如何将设备的默认/自然方向更改为纵向?

这是我到目前为止所尝试的,

1)将 setprop ro.sf.hwrotation 90添加到build.prop中,但它什么也没做。

2) 更改了/data/data/com.android.providers.settings/databases/settings.db中的user_rotation值,并且仅更改了应用程序的方向。主屏幕和启动器的方向仍然是横向的。

3)修改PhoneWindowManager.java类似于链接中给出的一个:更改phonewindowmanager以更改自然方向

此选项有效。但它仍然以横向显示启动动画,动画完成后,显示旋转(带有旋转动画)为纵向。如何避免这种旋转并在启动动画之前更改默认/自然方向?

注意:我已经用自己的肖像图像覆盖了 bootanimation,使其看起来像肖像。bootanimation 退出后仍然发生旋转。那么什么是通用解决方案呢?

任何建议将不胜感激。

它与SurfaceFlinger有关吗?我还想在android网站上指出这篇文章。硬件作曲家中的预旋转

(仅供参考 - 当您为自定义设备构建 Android 操作系统时,问题不在于应用程序/活动方向,而是设备自然方向)

0 投票
3 回答
7539 浏览

android - 获取android上的帧率统计信息

我正在做一个项目,我正在通过内核扩展 Nexus 7 的 GPU 频率以节省电力。为了测量 QoS/性能,我正在尝试收集渲染(绘制/丢弃)帧的数据。我希望运行一些游戏/视频来查看帧速率。我知道我可以使用命令通过 adb 收集数据

在启用“配置文件 GPU 渲染”的开发人员模式下。这仅输出每个包/应用程序的最后 128 帧绘制/处理/执行所花费的时间。我想知道是否有增加帧数的技巧

或者

如果我能以另一种方式获得渲染的帧统计信息。我知道我们可以将 systrace/tracer 用于 OpenGL ES。既不输出统计数据,也只输出波形。

0 投票
1 回答
2901 浏览

android - 表面记录:颜色格式问题

我目前正在尝试Surface通过命令行screenrecord实用程序记录一个。根据实现,框架将video encoder组件的颜色格式设置为OMX_COLOR_FormatAndroidOpaque. 因此,video encoder被迫从gralloc句柄中检索颜色格式。

执行此用例时,video encoder遇到BGRA Surface. 因此,我试图找到答案的问题是:

在 Miracast 的情况下,编码器的输入是通过SurfaceMediaSource. 在记录的情况下,通过接口提供Surface输入表面。MediaCodecGraphicBufferSource

应该在内部处理从空间RGB到空间的颜色转换,还是更好地引入编码器的源抽象源?YUVvideo encoderSurfaceMediaSourcegralloc

0 投票
1 回答
776 浏览

android - 学习 SurfaceFlinger 共享库

我想开发一个使用 Android-4.0.4 中的 SurfaceFlinger 库的原生 android 应用程序 我想了解 SurfaceFlinger 库在 android 中的工作原理,它的流程以及使用测试数据构建和运行/调试它。我想了解 SurfaceFlinger 的流程,以便我可以从我的应用程序中调用正确的方法。(cpp 文件)。我知道 SurfaceFlinger API 在 android 中不稳定,所以我专门将我的应用程序定位到在 Android 4.0.4 上运行的设备。

我还想知道要使用哪些工具来构建和调试共享库以及执行它的过程。

0 投票
1 回答
1832 浏览

android - 如何使用 Android 的“Surface”类?

Surface、SurfaceHolder、EGLSurface、SurfaceView、GLSurfaceView、SurfaceTexture、TextureView有详细解释吗?尤其是:

  • SurfaceView 和 TextureView 有什么区别?
  • 我是否需要使用 GLSurfaceView 才能使用 OpenGL ES?
  • Surface 和 EGLSurface 如何交互?
  • SurfaceTexture 有什么作用?
  • 为什么我在 SurfaceView 上绘制的内容必须高于或低于其他所有内容?
  • 什么是 SurfaceFlinger?
  • 状态栏和导航栏的组成如何工作?
  • 在此过程中,在 Android 上构建游戏循环的正确方法是什么?
0 投票
2 回答
3605 浏览

android - android 4.4,服务“SurfaceFlinger”死了

我正在运行一个使用 ScreenshotClient 循环捕获屏幕的本机进程。随机运行几次后,当我关闭进程时,我得到“服务'SurfaceFlinger'死亡”并且屏幕重新启动。这在 android 4.2 中不会发生。

这是回溯:

0 投票
1 回答
1518 浏览

android - 如何在android上显示没有surfaceflinger的图像

如何在surfacefligner在android上启动之前绘制一些东西?

在这种情况下,它是某种带有帧缓冲设备的传统Linux,所以直接访问帧缓冲应该是可以的。

直接用HWComposer怎么样,直接用egl怎么样?