我正在css3实验中移动6000个小div元素,使用从top: 0转换top: 145px到测试性能.
在谷歌浏览器上使用无硬件加速运行平稳.
如果我通过translateZ(0)性能启用硬件加速变得可怕.
为什么会这样?
这是我的示例代码:http://dl.dropboxusercontent.com/u/17844821/tmp/hwtest.html
更新(2014-11-13):由于这个问题仍然引起人们的注意,我想指出问题本身似乎仍然存在,尽管在现代硬件上提供的演示中,所提到的口吃可能不再可见.较旧的设备可能仍然会出现性能问题.
我使用新的 ARM cpu M14.1在 macOS Big Sure 中启动了 Android Studio11.0.1
安装 Rosetta 后:是的,它构建了!
但是模拟器有问题,显示我的CPU 不支持 VT-x
我使用了最新的,一个非常旧的 api25(谷歌必须在这里做一些事情)但它的速度慢得令人难以置信
如何让模拟器快速工作?
macos android hardware-acceleration android-emulator macos-big-sur
有没有办法或工具在使用GCC编译器编译程序时应用GPU加速?现在我已经创建了一个程序来迭代地编译给定的程序列表.这需要几分钟.我知道像Pyrit这样的一些程序有助于将GPU加速应用于预计算哈希.
如果没有这样的工具,请建议是否使用OpenCL或其他任何东西来重新编程我的代码.
我正在尝试在Honeycomb中启用hw加速,并在Canvas上显示一些Bitmaps.一切正常,但对于大位图(一维> 2048),我在日志中得到错误:
OpenGLRenderer:位图太大而无法上传到纹理中
我知道这是因为hw限制,并且可以通过减少最大位图大小来解决它,如果启用了hw加速(由View.isHardwareAccelerated()检查).
我的问题是:如何轻松确定硬件可用于位图绘制的最大纹理大小.2048似乎是对我的设备的限制,但它可能在不同的设备上有所不同.
编辑:我不是创建OpenGL应用程序,只是普通的应用程序,它可以利用hw加速.因此我根本不熟悉OpenGL,我只是在日志中看到OpenGL相关的错误,并期待解决它.
我需要使用硬件加速来ffmpeg解码我的视频(例如h264).我正在使用解码帧的常用方法:读取数据包 - >解码帧.而且我想让ffmpeg加速解码.所以,我有内置它--enable-vaapi和--enable-hwaccel=h264.但我真的不知道接下来该怎么做.我试过使用avcodec_find_decoder_by_name("h264_vaapi")但它返回nullptr.无论如何,我可能想要使用其他API而不仅仅是VA API.如何加速ffmpeg解码?
PS我没有在互联网上找到任何使用ffmpeg和hwaccel的例子.
我有一个WebView(Android 3.0+)的问题,WebView在显示我的黑色背景("闪烁")之前总是显示白色背景.这是我简单的测试代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView webView = new WebView(this);
webView.setBackgroundColor(Color.BLACK);
setContentView(webView);
loadWebView(webView);
webView.loadDataWithBaseURL("localhost://", "<html><head>" +
"<style>body {background-color: #000}img{max-width:100%}</style></head>" +
"<body>" +
"<img src=\"http://developer.android.com/images/practices/actionbar-phone-splitaction.png\" />" +
"</body></html>",
"text/html", "UTF-8", null);
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很多解决方案来摆脱这个问题,但并不幸运.
PS:如果关闭硬件加速,则不会出现此问题.有人有同样的问题并解决了吗?
谢谢.
android webview hardware-acceleration android-3.0-honeycomb android-4.0-ice-cream-sandwich
我正在开发一个应用程序,其功能与Facebook Android原生应用程序非常相似:社交网络,大多数时候用户将花费在无尽的ListView显示批量图像,进入图像库等等.
让我们说讨论我正在做所有正确的事情和最好的Android实践来实现平滑滚动(应该回收视图,在需要时使用不同的视图类型,加载到内存只需要大小的缩放位图,缓存位图,使用ViewHolder设计模式,在可能的情况下不阻塞UI线程等等......)
让我们说我的应用程序中的其他所有内容都以最佳方式编写并遵循最佳实践(讨论......: - >)
我的应用程序工作不坏在那个阶段,但在硬件加速转弯时,如所描述并承诺在Android开发者文档, 它使我的应用程序很多很多更加顺畅,快捷.
让我们说它不会像在任何不支持的操作中那样在UI上以任何负面的方式影响
根据Google关于这个主题的文档,只有我能看到不使用此功能的原因(除了上面提到的所有其他原因)之外,它可能会导致我的应用程序使用更多内存.但是RAM多少钱?多很多?我知道当我的应用程序消耗大量的RAM时 - 当它需要释放一些内存时,它会被操作系统摧毁.
我的问题基本上是 -
TIA
我有一个视图,它做了一些基本的绘图.在此之后,我想绘制一个打孔的矩形,这样只能看到上一个图形的一个区域.我想为我的视图启用硬件加速以获得最佳性能.
目前我有两种方法可以工作,但只有在禁用硬件加速时才有效,而另一种方法太慢.
方法1:SW加速(慢)
final int saveCount = canvas.save();
// Clip out a circle.
circle.reset();
circle.addCircle(cx, cy, radius, Path.Direction.CW);
circle.close();
canvas.clipPath(circle, Region.Op.DIFFERENCE);
// Draw the rectangle color.
canvas.drawColor(backColor);
canvas.restoreToCount(saveCount);
Run Code Online (Sandbox Code Playgroud)
这不适用于为视图启用的硬件加速,因为在此模式下不支持'canvas.clipPath'(我知道我可以强制SW渲染,但我想避免这种情况).
方法2:硬件加速(V.慢速)
// Create a new canvas.
final Bitmap b = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
final Canvas c = new Canvas(b);
// Draw the rectangle colour.
c.drawColor(backColor);
// Erase a circle.
c.drawCircle(cx, cy, radius, eraser);
// Draw the bitmap on our views canvas.
canvas.drawBitmap(b, 0, 0, null);
Run Code Online (Sandbox Code Playgroud)
橡皮擦创建的地方
eraser = new Paint()
eraser.setColor(0xFFFFFFFF); …Run Code Online (Sandbox Code Playgroud) 我需要为研究项目进行硬件加速的H.264解码,以测试自定义协议.
正如我在网上搜索一样,我发现了一些在Android上执行硬件加速视频解码的方法.
有些人"说" libstagefright是高通球员明显取得成功的唯一途径.
目前我不确定哪种方式可行.我现在有点困惑.如果一切正常,我当然更喜欢硬件无关的方法.
由于我用Galaxy Tab 7.7(3.2和Enxyos),VLC,Mobo,Rock,vplayer,rock和mobo测试了几个视频播放器的H/W加速度,VLC无法正常工作,vplayer似乎有渲染花费其性能的bug.
无论如何,我在Rockplayer上做了一个'操作'并删除了data\data\com.redirecting\rockplayer中的所有.so库,软件解码崩溃了,而hw解码工作仍然很好!我想知道他们是怎么做到的.在我看来,hw加速可以独立于硬件平台.
有人可以解决这个问题吗?或者提供任何参考资料或更多细节?
因此,Android中存在WebView硬件加速的已知错误,请参见此处:https://code.google.com/p/android/issues/detail?id = 17352
禁用硬件加速不是我的选择.
我读过这些很棒的参考资料:
我的问题是,如果打开HWA,是否有人知道任何CSS/HTML变通方法以防止可能发生的渲染伪像?
当我将焦点放在表单字段时,我只会看到它们,它似乎会导致vsync-esque和subpixel gitches.当我关注这个领域时,整个页面似乎都是抖动的.
这似乎position: absolute与此有关.
有没有人解决这个问题?
android ×7
css ×2
webview ×2
android-4.0-ice-cream-sandwich ×1
android-gui ×1
c ×1
c++ ×1
css3 ×1
drawing ×1
ffmpeg ×1
gcc ×1
gpu ×1
graphics ×1
h.264 ×1
macos ×1
porter-duff ×1
stagefright ×1
video ×1