标签: hardware-acceleration

为什么在缩放缩放手势期间调用setScaleX会导致闪烁?

我正在尝试创建一个可缩放的容器,我的目标是API 14+

在我的onScale中(我使用ScaleGestureDetector来检测捏缩放)我正在做这样的事情:

public boolean onScale (ScaleGestureDetector detector) {
   float scaleFactor = detector.getScaleFactor();
   setScaleX(getScaleX() * scaleFactor);
   setScaleY(getScaleY() * scaleFactor);

   return true;
};
Run Code Online (Sandbox Code Playgroud)

它工作但缩放不顺畅.事实上,它明显闪烁.

我也尝试过硬件层认为一旦纹理上传就会在GPU上进行缩放,因此速度非常快.但它并没有什么区别 - 变焦不是很平滑,有时候也很奇怪.

我究竟做错了什么?

performance android hardware-acceleration android-ui

7
推荐指数
2
解决办法
3170
查看次数

现代图形管道有多少使用专用硬件?

换句话说,如果要尝试使用GPGPU(CUDA,OpenCL)重新实现OpenGL或DirectX(或模拟),那么NVIDIA和AMD卡上的库存实现的位置和原因会更慢?

我可以看到如何使用GPGPU使顶点/片段/几何/ tesselation着色器变得漂亮和快速,但是生成要渲染的片段列表,剪切,纹理采样等等呢?

我纯粹是为了学术兴趣.

opengl gpgpu hardware-acceleration

6
推荐指数
1
解决办法
1016
查看次数

CSS3属性是否像动画太强大了?

这个重复的动画代码会减慢我的系统吗?:

@-webkit-keyframes animate {-webkit-animation-iteration-count:infinite;...}
Run Code Online (Sandbox Code Playgroud)

所有CSS3属性都是CPU密集型的吗?

谢谢.

css css3 hardware-acceleration css-transitions

6
推荐指数
2
解决办法
8789
查看次数

为什么我不能强制我的一个视图在软件中渲染?

在我的自定义视图中,我使用Canvas.drawBitmap,其源位图比2048px宽.这当然会在启用硬件加速时引起问题,每次调用drawBitmap时,LogCat会喷出"W/OpenGLRenderer(4968):位图太大而无法上传到纹理".

所以为了解决这个问题,我试着调用setLayerType(View.LAYER_TYPE_SOFTWARE, null)我的观点.唯一的问题是它似乎没有帮助.当我尝试运行我的应用程序时,LogCat仍然会发出警告,并且最终都不会被绘制.

我不明白为什么会这样.Android网站上的这篇文章明确指出:

您可以使用以下代码在运行时禁用单个视图的硬件加速:

myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
Run Code Online (Sandbox Code Playgroud)

有什么我做错了吗?为什么Android不尊重setLayerType调用?


[万一重要:我正在运行Android 3.2的三星Galaxy Tab 10.1上进行测试]

android hardware-acceleration android-custom-view android-4.0-ice-cream-sandwich

6
推荐指数
1
解决办法
786
查看次数

Webkit:CSS强制2D变换的硬件加速,而不使用3D CSS属性

无论如何使用webkit中的CSS在不使用3D的情况下强制进行2D变换的硬件加速(例如translateZ(0))(根据在Mobile Safari中加速的2D变换硬件?).

我发现了position: fixed元素的问题,其中元素被设置为等价的东西position: absolute,因此没有相对于视口定位,而是最终相对于父容器定位(如本文中所述http://meyerweb.com/eric/thoughts/2011/09/12/un-fixing-fixed-elements-with-css-transforms /).

我正在选择硬件加速,因为iOS中的转换背景往往会闪烁白色,就像这个错误概述https://github.com/jquery/jquery-mobile/issues/2856一样.

css 3d hardware-acceleration css-transforms

6
推荐指数
1
解决办法
5994
查看次数

Android模拟器GPU仿真支持哪些图形卡?

我有IC76的HD7690M XT(超频版6770M)和Android模拟器(sdk工具rev.20)无法启动硬件OpenGL ES仿真,并出现以下错误消息:

模拟器:错误:无法加载OpenGLES仿真库:无法加载DLL!
模拟器:警告:无法使用软件渲染器初始化OpenglES仿真.

并且使用软件渲染器我的色彩分辨率非常差(请参阅附带的截图).我怀疑这是由于软件渲染器(模拟早期版本的Android没有这样的问题).有人可以运行硬件模拟看到这个问题吗?

在此输入图像描述

在此输入图像描述

什么图形卡可以运行硬件GPU仿真?(您可以通过执行查看详细的调试消息$ emulator -avd your_avd_name -verbose)

hardware-acceleration android-emulator

6
推荐指数
3
解决办法
1万
查看次数

Android:启用硬件加速

我希望我在Android 4.0中的动画很慢而且缺乏.所以我想启用硬件加速,并试图做这个页面所说的但没有运气.

你可以在这里看到我的清单:

<?xml version="1.0" encoding="UTF-8"?>
<manifest android:versionCode="1" android:versionName="1.0"
    package="com.jws.battleship" xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15"/>
    <uses-permission android:name="android.permission.BLUETOOTH"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
    <application 
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" 
        android:theme="@android:style/Theme.Black.NoTitleBar"
        android:hardwareAccelerated="true">
        <activity 
            android:label="@string/app_name" 
            android:name=".HomeActivity"
            android:hardwareAccelerated="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name=".UserPreferences"/>
        <activity android:name=".BattleActivity" android:screenOrientation="landscape"/>
        <activity android:name=".HighScoreActivity"/>
        <activity android:name=".StoreActivity"/>
        <activity android:name=".JoinBattle"/>
        <activity android:name=".CreateBattleActivity"/>
        <activity android:name=".FriendList"/>
        <activity android:name=".FriendListActivity"/>
        <activity android:name=".SelectNetworkActivity"/>
        <activity android:name=".BluetoothDevicesListActivity"/>
        <activity android:name=".NetworkFactoryActivity"/>
    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

然后我测试它是否在onCreate()中启用了硬件加速,如下所示:

ListView list = (ListView)findViewById(R.id.home_list_active_games);
Boolean test = list.isHardwareAccelerated();
Run Code Online (Sandbox Code Playgroud)

但它总是返回假!?我是否需要添加某种权限或此处有什么问题?

BR

android hardware-acceleration

6
推荐指数
1
解决办法
1万
查看次数

硬件使用ffmpeg,OpenCV加速h264解码

我正在开发一个视频分析应用程序,我必须解码RTSP流以提供IplImage帧,然后将其输入我的分析管道.现在,OpenCV VideoCapture结构允许我从RTSP流中提取帧(我认为它使用ffmpeg这样做),但性能不是那么好.它需要实时工作.

我也继续编写了自己的ffmpeg解码器.但就像OpenCv一样,使用RTSP流的性能并不好.丢弃了很多帧.但是,从本地文件解码工作正常.我仍然在努力改进代码.

我需要帮助的是这个.首先,我可以在这里使用硬件加速解码来提高性能吗?我的应用程序应该是跨平台的,所以我可能需要使用Directx VA(windows)和VAAPI(linux).如果是的话,那么在那里我可以学习如何在代码中实现硬件加速,特别是对于ffmpeg解码H264?

opencv ffmpeg decoder h.264 hardware-acceleration

6
推荐指数
1
解决办法
3309
查看次数

让QualComm编码器通过MediaCodec API工作

我正在尝试使用Android MediaCodec API对NV12流进行硬件编码(avc).

当使用OMX.qcom.video.encoder.avc时,分辨率1280x720和640x480工作正常,而其他(即640x360,320x240,800x480)产生输出,其中色度分量似乎移位(请参阅 快照).

我通过将输入图像保存到jpeg文件来仔细检查输入图像是否正确.此问题仅发生在QualComm设备(即三星Galaxy S4)上.

任何人都有这个正常工作?还需要任何额外的设置/怪癖吗?

android video-encoding hardware-acceleration android-hardware mediacodec

6
推荐指数
1
解决办法
4064
查看次数

如何在android平台上做硬件h.264视频编码

我正在尝试做硬件h.264视频编码平台,我了解到"MediaCodec"似乎支持硬件视频解码,但它是否支持硬件视频编码?

谷歌的一些搜索结果建议我应该考虑根据用户的Android设备搜索不同芯片的不同解决方案,这是否意味着我应该去每个芯片提供商的网站搜索不同的解决方案?

谢谢你的建议

video android encode h.264 hardware-acceleration

6
推荐指数
1
解决办法
5344
查看次数