[英]Adobe AIR camera slow
我在Adobe AIR移动设备上使用相机时遇到问题。
在较新的手机上,相机的性能还可以,但是例如在galaxy s2上是无法使用的。 我正在使用像这样的相机 :
_camera = Camera.getCamera("0");
if (_camera != null)
{
// _video = new Video();
_video = new Video(_camera.width, _camera.height);
// _video.width = _cameraHeight;
_video.width = _cameraHeight;
_video.height = Starling.current.nativeStage.fullScreenWidth;
_camera.addEventListener(ActivityEvent.ACTIVITY, onCameraActivity);
_camera.setMode( _video.width,_video.height, 30 );
_video.attachCamera(_camera);
_videoContainer.addChild(_video);
}
有人有什么建议吗?
编辑:问题是Galaxy S2上的帧率下降到1左右,并且应用程序崩溃了。 在我的银河S3上,它的速度约为30fps。 我还尝试使用以下方法在每一帧上将视频上传到GPU
flash.display3D.textures.Texture(image.texture.base).uploadFromBitmapData(bmd);
那么在我的星系s3上它会变得更好,fps约为50-60,但在galaxy s2上仍然很糟糕且无法使用(约1 fps)
如果您实际上使用的是Starling,这是我以前使用过的(项目已有大约半年的时间,不知道事情是否发生了太大变化):
camera = Camera.getCamera();
camera.setLoopback(false);
camera.setMode(640, 640, 15);
var cropping:Rectangle = new Rectangle(0, 0, getLowerPowerOfTwo(camera.width), getLowerPowerOfTwo(camera.height));
webcamVideo = new WebcamVideo( camera,
new Rectangle(
(camera.width - cropping.width) * .5,
(camera.height - cropping.height) * .5,
cropping.width,
cropping.height),
false,
WebcamVideo.DRAW_BITMAPDATA|WebcamVideo.UPLOAD_FROM_BITMAPDATA);
帧频设置为15,但如果尝试尝试,结果可能还不错。 我将其设置为15,因为我正在测试一个旧的HTC Sensation(3岁),S2和另一个我忘了的旧相机。 您可以检查硬件并根据需要增强功能。 在HTC One上,它像30岁时一样具有魅力。
试试看,希望对您有所帮助! :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.