[英]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.