Forráskód Böngészése

高斯模糊层性能优化

jsonwang 3 éve
szülő
commit
564d1d691d

+ 7 - 24
BFFramework/Classes/Stuckpoint/ViewModel/PQGPUImagePlayerView.swift

@@ -581,30 +581,13 @@ public class PQGPUImagePlayerView: UIView {
             
             movie!.removeAllTargets()
         
-            if(showFilter.stickerInfo?.type == StickerType.IMAGE.rawValue && showGaussianBlur){
-         
+            //为了优化性能只有素材宽高比和画面宽高比不一样时才做高斯
+            //原图的比例
+            let stickerAspectRatio = String(format: "%.6f", (showFilter.stickerInfo?.width ?? 0.0 ) / (showFilter.stickerInfo?.height ?? 0.0))
+            //画面的比例
+            let canverAspectRatio = String(format: "%.6f",(movie?.mShowVidoSize.width ?? 0.0) /  (movie?.mShowVidoSize.height ?? 0.0))
+            if(showFilter.stickerInfo?.type == StickerType.IMAGE.rawValue && showGaussianBlur && Float(stickerAspectRatio) != Float(canverAspectRatio)){
 //                    //高斯层
-//                    let json = showFilter.stickerInfo?.toJSONString(prettyPrint: false)
-//                    if json == nil {
-//                        FilterLog(message: "数据转换有问题 跳转")
-//                        return
-//                    }
-//
-//                    var blurStickerModel: PQEditVisionTrackMaterialsModel? = Mapper<PQEditVisionTrackMaterialsModel>().map(JSONString: json!)
-//                    blurStickerModel?.canvasFillType = stickerContentMode.aspectFillStr.rawValue
-      
-                    sharedImageProcessingContext.runOperationAsynchronously{ [self] in
-    
-//                        let json = showFilter.stickerInfo?.toJSONString(prettyPrint: false)
-//                        if json == nil {
-//                            FilterLog(message: "数据转换有问题 跳转")
-//                            return
-//                        }
-
-//                        let blurStickerModel: PQEditVisionTrackMaterialsModel? = Mapper<PQEditVisionTrackMaterialsModel>().map(JSONString: json!)
-//                        blurStickerModel?.canvasFillType = stickerContentMode.aspectFillStr.rawValue
-//                        let showGaussianFitler:PQBaseFilter = PQImageFilter(sticker: blurStickerModel!)
-                        
                         let  blurStickerModel:PQEditVisionTrackMaterialsModel? = showFilter.stickerInfo?.copy() as? PQEditVisionTrackMaterialsModel
                         blurStickerModel?.canvasFillType = stickerContentMode.aspectFillStr.rawValue
 
@@ -622,7 +605,7 @@ public class PQGPUImagePlayerView: UIView {
                         iosb.addTarget(showFilter)
                         showFilter.addTarget(self.renderView as ImageConsumer, atTargetIndex: 0)
                         
-                    }
+//                    }
  
             }else{
                 movie?.addTarget(showFilter, atTargetIndex: 0)