Android 为什么褪色的边缘会变慢?

Android 为什么褪色的边缘会变慢?,android,scrollview,Android,Scrollview,如中所述,ScrollViews中的淡入边缘可能会变慢。我想知道,为什么 “使用衰减边缘可能会导致明显的性能下降 并且仅当应用程序的视觉效果需要时才应使用 设计。若要请求API级别14及以上的淡入边缘,请使用 android:requiresFadingEdge属性替代” 我的兴趣是由两件事引起的: 希望使用淡入淡出的边缘为用户提供视觉提示 使用褪色边缘时注意到PowerVR SGX 544 Galaxy S4的性能/极端/性能损失。(从20-30 fps降至0.2 fps),但在其他GPU

如中所述,
ScrollView
s中的淡入边缘可能会变慢。我想知道,为什么

“使用衰减边缘可能会导致明显的性能下降 并且仅当应用程序的视觉效果需要时才应使用 设计。若要请求API级别14及以上的淡入边缘,请使用
android:requiresFadingEdge
属性替代”

我的兴趣是由两件事引起的:

  • 希望使用淡入淡出的边缘为用户提供视觉提示
  • 使用褪色边缘时注意到PowerVR SGX 544 Galaxy S4的性能/极端/性能损失。(从20-30 fps降至0.2 fps),但在其他GPU(如Adreno 320 HTC One)上看不到性能损失
我认为可能在SurfaceFlinger中将淡入淡出的边缘实现为单独的层,它们触发了GLE合成而不是硬件合成,但事实并非如此,根据更新:

Romain中的大约30分钟提到了淡入淡出的边缘是如何实现的,以及为什么实现会使它们变慢

我开始相信,在今天的背景下,文档中的注释是误导性的,我偶然发现了一个不相关的病态的糟糕情况。我发现,通常褪色的边缘并不慢。链接的帖子告诉我们罗曼对这一特性的看法,尽管该注释直到2011年9月才被添加

不同的系统使用不同的绘图路径、不同的GPU驱动程序路径和不同的GPU硬件路径来实际渲染淡入淡出的边缘。我想,由于我试图展示的场景的复杂性,我超越了我的特定手机的限制


介绍了便条。它是在Android 4.0发布之前制作的,而3.2.x系列仍在发布中。我记得Xoom是一个速度有点慢的设备,我想一些逐渐消失的边缘(默认情况下很容易打开)可能会把它拖到爬行状态。这似乎是做出更改并引入注释的一个很好的理由。

我无法回答原因,但您能看看它在设置android:hardwareAccelerated=“true”时是否表现更好吗?Romain Guy简要解释道。这意味着更多的阅读、写作和绘画。是的,见罗曼圭的文章。由于性能问题,不鼓励使用边缘衰落。Romain的文章是有用的背景,但它不能解释KitKat设备上的差异。(首先,这是从2008年开始的)。视图层次结构现在是用GLE绘制的(对吧?),少数启用了混合的绘制应该/不应该/减慢100~。我想知道是否出于某种原因,S4的TouchWiz4.4版本强制层进入CPU绘图模式(通过调用lockCanvas或其他方式)。FWIW,我的问题是关于ScrollView,而不是ListView,这是Romain帖子的主题@josephus HW加速已启用(目标SDK=19)。答案中引用的视频的工作链接: