[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16674874#comment-16674874 ] ASF GitHub Bot commented on WEEX-648: - cxfeng1 closed pull request #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.h b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.h index 94eb39973e..d1a36edfe7 100644 --- a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.h +++ b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.h @@ -262,4 +262,18 @@ void WXPerformBlockSyncOnComponentThread(void (^block)(void)); */ - (void)enumerateComponentsUsingBlock:(void (^)(WXComponent *, BOOL *stop))block; +#pragma mark batch mark + +/** + a start native batch tag for a group of UI operations, company with performBatchEnd + @see performBatchEnd + */ +- (void)performBatchBegin; + +/** + an end native batch tag for a group of UI operations, company with performBatchBegin + @see performBatchBegin + */ +- (void)performBatchEnd; + @end diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm index e22dc38d76..071580bffd 100644 --- a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm +++ b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm @@ -44,7 +44,7 @@ static NSThread *WXComponentThread; #define WXAssertComponentExist(component) WXAssert(component, @"component not exists") - +#define MAX_DROP_FRAME_FOR_BATCH 200 @implementation WXComponentManager { @@ -64,6 +64,7 @@ @implementation WXComponentManager pthread_mutex_t _propertyMutex; pthread_mutexattr_t _propertMutexAttr; +NSUInteger _syncUITaskCount; } + (instancetype)sharedManager @@ -80,7 +81,7 @@ - (instancetype)initWithWeexInstance:(id)weexInstance { if (self = [self init]) { _weexInstance = weexInstance; - +_syncUITaskCount = 0; _indexDict = [NSMapTable strongToWeakObjectsMapTable]; _fixedComponents = [NSMutableArray wx_mutableArrayUsingWeakReferences]; _uiTaskQueue = [NSMutableArray array]; @@ -991,13 +992,42 @@ - (void) _printFlexComponentFrame:(WXComponent *)component - (void)_syncUITasks { -NSArray *blocks = _uiTaskQueue; -_uiTaskQueue = [NSMutableArray array]; -dispatch_async(dispatch_get_main_queue(), ^{ -for(dispatch_block_t block in blocks) { -block(); +NSInteger mismatchBeginIndex = _uiTaskQueue.count; +for (NSInteger i = _uiTaskQueue.count - 1;i >= 0;i --) { +if (_uiTaskQueue[i] == WXPerformUITaskBatchEndBlock) { +_syncUITaskCount = 0; +// clear when find the matches for end and begin tag +break; } -}); +if (_uiTaskQueue[i] == WXPerformUITaskBatchBeginBlock) { +mismatchBeginIndex = i; +break; +} +} + +if (mismatchBeginIndex == _uiTaskQueue.count) { +// here we get end tag or there are not begin and end directives +} else { +_syncUITaskCount ++; +// we only find begin tag but missing end tag, +if (_syncUITaskCount > (MAX_DROP_FRAME_FOR_BATCH)) { +// when the wait times come to MAX_DROP_FRAME_FOR_BATCH, we will pop all the stashed operations for user experience. +mismatchBeginIndex = _uiTaskQueue.count; +_syncUITaskCount = 0; +} +} + +if (mismatchBeginIndex > 0) { +NSArray *blocks = [_uiTaskQueue subarrayWithRange:NSMakeRange(0, mismatchBeginIndex)]; +[_uiTaskQueue removeObjectsInRange:NSMakeRange(0, mismatchBeginIndex)]; +if (blocks.count) { +dispatch_async(dispatch_get_main_queue(), ^{ +for(dispatch_block_t block in blocks) { +block(); +} +}); +} +} } #pragma mark Fixed @@ -1051,6 +1081,27 @@ - (void)enumerateComponentsUsingBlock:(void (^)(WXComponent *, BOOL *stop))block } } +static void (^WXPerformUITaskBatchBeginBlock)(void) = ^ () { +#if DEBUG +WXLogDebug(@"directive BatchBeginBlock"); +#endif +}; +static void (^WXPerformUITaskBatchEndBlock)(void) = ^ () { +#if DEBUG +WXLogDebug(@"directive BatchEndBlock"); +#endif +}; + +- (void)performBatchBegin +{ +[self _addUITask:WXPerformUITaskBatchBeginBlock]; +} + +- (void)performBatchEnd +{ +[self _addUITask:WXPerformUITaskBatchEndBlock]; +} + - (void)handleDisplayLink { [self _handleDisplayLink]; } diff --git a/ios/sdk/Weex
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16674788#comment-16674788 ] ASF GitHub Bot commented on WEEX-648: - YorkShen closed pull request #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/WXRenderManager.java b/android/sdk/src/main/java/com/taobao/weex/ui/WXRenderManager.java index 95cabd79b5..ac02fa8278 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/WXRenderManager.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/WXRenderManager.java @@ -30,11 +30,13 @@ import com.taobao.weex.dom.RenderContext; import com.taobao.weex.performance.WXInstanceApm; import com.taobao.weex.ui.action.BasicGraphicAction; +import com.taobao.weex.ui.action.GraphicActionBatchAction; import com.taobao.weex.ui.component.WXComponent; import com.taobao.weex.utils.WXExceptionUtils; import com.taobao.weex.utils.WXUtils; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -47,6 +49,10 @@ private volatile ConcurrentHashMap mRenderContext; private WXRenderHandler mWXRenderHandler; + private ArrayList> mBatchActions = new ArrayList<>(); + private final int MAX_DROP_FRAME_NATIVE_BATCH = 2000; + private final static String sKeyAction = "Action"; + private static int nativeBatchTimes = 0; public WXRenderManager() { mRenderContext = new ConcurrentHashMap<>(); @@ -116,11 +122,43 @@ public void removeRenderStatement(String instanceId) { } } + private void postAllStashedGraphicAction(final String instanceId,final BasicGraphicAction action) { + ArrayList> tmpList = new ArrayList<>(mBatchActions); + this.mBatchActions.clear(); + ArrayList actions = new ArrayList<>(tmpList.size()); + for (int i = 0 ; i < tmpList.size(); i ++) { + Map item = tmpList.get(i); + BasicGraphicAction tmpAction = (BasicGraphicAction)item.get(sKeyAction); + if (tmpAction.mActionType == BasicGraphicAction.ActionTypeBatchBegin || tmpAction.mActionType == BasicGraphicAction.ActionTypeBatchEnd) { + continue; + } + actions.add(tmpAction); + } + nativeBatchTimes = 0; + postGraphicAction(instanceId, new GraphicActionBatchAction(action.getWXSDKIntance(),action.getRef(), actions)); + } + public void postGraphicAction(final String instanceId, final BasicGraphicAction action) { final RenderContextImpl renderContext = mRenderContext.get(instanceId); if (renderContext == null) { return; } + +if (action.mActionType == BasicGraphicAction.ActionTypeBatchEnd) { +postAllStashedGraphicAction(instanceId,action); +return; +} else if (action.mActionType == BasicGraphicAction.ActionTypeBatchBegin || this.mBatchActions.size() > 0 ) { +nativeBatchTimes ++ ; +if (nativeBatchTimes > MAX_DROP_FRAME_NATIVE_BATCH) { +postAllStashedGraphicAction(instanceId,action); +} else { +HashMap item = new HashMap<>(1); +item.put(sKeyAction, action); +mBatchActions.add(item); +return; +} +} + mWXRenderHandler.post(instanceId, action); } diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/action/BasicGraphicAction.java b/android/sdk/src/main/java/com/taobao/weex/ui/action/BasicGraphicAction.java index 6f158c38a9..e232584b3d 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/action/BasicGraphicAction.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/action/BasicGraphicAction.java @@ -28,6 +28,11 @@ private WXSDKInstance mInstance; private final String mRef; + public int mActionType = ActionTypeNormal; + public static final int ActionTypeBatchBegin = 1; + public static final int ActionTypeBatchEnd = 2; + public static final int ActionTypeNormal = 0; + public BasicGraphicAction(WXSDKInstance instance, String ref) { this.mInstance = instance; diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionBatchAction.java b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionBatchAction.java new file mode 100644 index 00..901db4012c --- /dev/null +++ b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionBatchAction.java @@ -0,0 +1,41 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16674730#comment-16674730 ] ASF GitHub Bot commented on WEEX-648: - acton393 commented on a change in pull request #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647#discussion_r230644942 ## File path: android/sdk/src/main/java/com/taobao/weex/ui/module/WXDomModule.java ## @@ -118,6 +123,16 @@ public Object callDomMethod(String method, JSONArray args, long... parseNanos) { } new UpdateComponentDataAction(mWXSDKInstance, args.getString(0), JSONUtils.toJSON(args.get(1)), args.getString(2)).executeAction(); break; +case BATCH_BEGIN: { + String ref = args.size() >= 1 ? args.getString(0) : null; Review comment: @Darin726 thanks, I have checked value for args, just return if null This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: acton393 >Assignee: acton393 >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16674729#comment-16674729 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647#issuecomment-430949728 Fails :no_entry_sign: Failed to run assembleDebug task for android. Messages :book: android build verification finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: acton393 >Assignee: acton393 >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16674724#comment-16674724 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647#issuecomment-430949728 Messages :book: has no jsfm file changed. :book: jsfm test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: acton393 >Assignee: acton393 >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16674723#comment-16674723 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647#issuecomment-430949728 Warnings :warning: No Changelog changes! Messages :book: danger test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: acton393 >Assignee: acton393 >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16674636#comment-16674636 ] ASF GitHub Bot commented on WEEX-648: - Darin726 commented on a change in pull request #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647#discussion_r230629071 ## File path: android/sdk/src/main/java/com/taobao/weex/ui/module/WXDomModule.java ## @@ -118,6 +123,16 @@ public Object callDomMethod(String method, JSONArray args, long... parseNanos) { } new UpdateComponentDataAction(mWXSDKInstance, args.getString(0), JSONUtils.toJSON(args.get(1)), args.getString(2)).executeAction(); break; +case BATCH_BEGIN: { + String ref = args.size() >= 1 ? args.getString(0) : null; Review comment: args may equals null This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: acton393 >Assignee: acton393 >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16674600#comment-16674600 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647#issuecomment-430949728 Fails :no_entry_sign: Failed to run assembleDebug task for android. Messages :book: android build verification finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: acton393 >Assignee: acton393 >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16674597#comment-16674597 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647#issuecomment-430949728 Messages :book: has no jsfm file changed. :book: jsfm test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: acton393 >Assignee: acton393 >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16674598#comment-16674598 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647#issuecomment-430949728 Warnings :warning: No Changelog changes! Messages :book: danger test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: acton393 >Assignee: acton393 >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16669536#comment-16669536 ] ASF GitHub Bot commented on WEEX-648: - wqyfavor commented on a change in pull request #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#discussion_r229549612 ## File path: ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm ## @@ -991,13 +992,41 @@ - (void) _printFlexComponentFrame:(WXComponent *)component - (void)_syncUITasks { -NSArray *blocks = _uiTaskQueue; -_uiTaskQueue = [NSMutableArray array]; -dispatch_async(dispatch_get_main_queue(), ^{ -for(dispatch_block_t block in blocks) { -block(); +NSInteger mismatchBeginIndex = _uiTaskQueue.count; +for (NSInteger i = _uiTaskQueue.count - 1;i >= 0;i --) { +if (_uiTaskQueue[i] == WXPerformUITaskBatchEndBlock) { +_syncUITaskCount = 0; +// clear when find the matches for end and begin tag +break; } -}); +if (_uiTaskQueue[i] == WXPerformUITaskBatchBeginBlock) { +mismatchBeginIndex = i; +break; +} +} + +if (mismatchBeginIndex == _uiTaskQueue.count) { +// here we get end tag or there are not begin and end directives +} else { +_syncUITaskCount ++; +// we only find begin tag but missing end tag, +if (_syncUITaskCount > (MAX_DROP_FRAME_FOR_BATCH)) { +// when the wait times come to MAX_DROP_FRAME_FOR_BATCH, we will pop all the stashed operations for user experience. +mismatchBeginIndex = _uiTaskQueue.count; +_syncUITaskCount = 0; +} +} + +if (mismatchBeginIndex > 0) { +NSArray *blocks = nil; +blocks = [_uiTaskQueue subarrayWithRange:NSMakeRange(0, mismatchBeginIndex)]; +[_uiTaskQueue removeObjectsInRange:NSMakeRange(0, mismatchBeginIndex)]; +dispatch_async(dispatch_get_main_queue(), ^{ Review comment: 加上if ([blocks count] == 0) return;吧 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16669538#comment-16669538 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-430659894 Messages :book: No android file has been changed. :book: android build verification finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16669534#comment-16669534 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-430659894 Warnings :warning: No Changelog changes! Messages :book: danger test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16669535#comment-16669535 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-430659894 Messages :book: has no jsfm file changed. :book: jsfm test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16669527#comment-16669527 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-430659894 Messages :book: No android file has been changed. :book: android build verification finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16669524#comment-16669524 ] ASF GitHub Bot commented on WEEX-648: - acton393 commented on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-434541826 👍 @wqyfavor thanks for your suggestions,I have updated my pull request. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16669523#comment-16669523 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-430659894 Warnings :warning: No Changelog changes! Messages :book: danger test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16669522#comment-16669522 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-430659894 Messages :book: has no jsfm file changed. :book: jsfm test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16667241#comment-16667241 ] ASF GitHub Bot commented on WEEX-648: - wqyfavor commented on a change in pull request #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#discussion_r228933843 ## File path: ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm ## @@ -991,8 +991,38 @@ - (void) _printFlexComponentFrame:(WXComponent *)component - (void)_syncUITasks { -NSArray *blocks = _uiTaskQueue; -_uiTaskQueue = [NSMutableArray array]; +static NSInteger _syncUITaskCount = 0; +NSInteger mismatchBeginIndex = _uiTaskQueue.count; +for (NSInteger i = _uiTaskQueue.count - 1;i >= 0;i --) { +if (_uiTaskQueue[i] == WXPerformUITaskBatchEndBlock) { +_syncUITaskCount = 0; +// clear when find the matches for end and begin tag +break; +} +if (_uiTaskQueue[i] == WXPerformUITaskBatchBeginBlock) { +mismatchBeginIndex = i; +break; +} +} + +NSArray *blocks = nil; Review comment: blocks声明放到下面if (mismatchBeginIndex > 0)里吧 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16667237#comment-16667237 ] ASF GitHub Bot commented on WEEX-648: - wqyfavor commented on a change in pull request #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#discussion_r228933129 ## File path: ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.h ## @@ -262,4 +262,18 @@ void WXPerformBlockSyncOnComponentThread(void (^block)(void)); */ - (void)enumerateComponentsUsingBlock:(void (^)(WXComponent *, BOOL *stop))block; +#pragma mark batch mark + +/** + a start native batch tag for a group of UI operation , company with performBatchEnd + @see performBatchEnd + */ +- (void)performBatchBegin; + +/** + an end native batch tag for a group of UI operation, company with performBatchBegin Review comment: operation -> operations This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16667233#comment-16667233 ] ASF GitHub Bot commented on WEEX-648: - wqyfavor commented on a change in pull request #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#discussion_r228932652 ## File path: ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm ## @@ -991,8 +991,38 @@ - (void) _printFlexComponentFrame:(WXComponent *)component - (void)_syncUITasks { -NSArray *blocks = _uiTaskQueue; -_uiTaskQueue = [NSMutableArray array]; +static NSInteger _syncUITaskCount = 0; +NSInteger mismatchBeginIndex = _uiTaskQueue.count; +for (NSInteger i = _uiTaskQueue.count - 1;i >= 0;i --) { +if (_uiTaskQueue[i] == WXPerformUITaskBatchEndBlock) { +_syncUITaskCount = 0; +// clear when find the matches for end and begin tag +break; +} +if (_uiTaskQueue[i] == WXPerformUITaskBatchBeginBlock) { +mismatchBeginIndex = i; +break; +} +} + +NSArray *blocks = nil; +if (mismatchBeginIndex == _uiTaskQueue.count) { +// here we get end tag or there are not begin and end directives +} else { +_syncUITaskCount ++; +// we only find begin tag but missing end tag, +if (_syncUITaskCount > (MAX_DROP_FRAME_FOR_BATCH)) { +// when the wait times come to MAX_DROP_FRAME_FOR_BATCH, we will pop all the stashed operation for user experience. Review comment: stashed operation -> stashed operations This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16667235#comment-16667235 ] ASF GitHub Bot commented on WEEX-648: - wqyfavor commented on a change in pull request #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#discussion_r228933022 ## File path: ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.h ## @@ -262,4 +262,18 @@ void WXPerformBlockSyncOnComponentThread(void (^block)(void)); */ - (void)enumerateComponentsUsingBlock:(void (^)(WXComponent *, BOOL *stop))block; +#pragma mark batch mark + +/** + a start native batch tag for a group of UI operation , company with performBatchEnd Review comment: 去掉多余的空格,operation -> operations This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16667232#comment-16667232 ] ASF GitHub Bot commented on WEEX-648: - wqyfavor commented on a change in pull request #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#discussion_r228932274 ## File path: ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm ## @@ -991,8 +991,38 @@ - (void) _printFlexComponentFrame:(WXComponent *)component - (void)_syncUITasks { -NSArray *blocks = _uiTaskQueue; -_uiTaskQueue = [NSMutableArray array]; +static NSInteger _syncUITaskCount = 0; +NSInteger mismatchBeginIndex = _uiTaskQueue.count; +for (NSInteger i = _uiTaskQueue.count - 1;i >= 0;i --) { +if (_uiTaskQueue[i] == WXPerformUITaskBatchEndBlock) { +_syncUITaskCount = 0; +// clear when find the matches for end and begin tag +break; +} +if (_uiTaskQueue[i] == WXPerformUITaskBatchBeginBlock) { +mismatchBeginIndex = i; +break; +} +} + +NSArray *blocks = nil; +if (mismatchBeginIndex == _uiTaskQueue.count) { +// here we get end tag or there are not begin and end directives +} else { +_syncUITaskCount ++; +// we only find begin tag but missing end tag, +if (_syncUITaskCount > (MAX_DROP_FRAME_FOR_BATCH)) { +// when the wait times come to MAX_DROP_FRAME_FOR_BATCH, we will pop all the stashed operation for user experience. +mismatchBeginIndex = _uiTaskQueue.count; +_syncUITaskCount = 0; +} +} + +if (mismatchBeginIndex > 0) { +blocks = [_uiTaskQueue subarrayWithRange:NSMakeRange(0, mismatchBeginIndex)]; +[_uiTaskQueue removeObjectsInRange:NSMakeRange(0, blocks.count)]; Review comment: blocks.count换成mismatchBeginIndex吧,看起来更对称一些,而且减少一次blocks.count调用。 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16667231#comment-16667231 ] ASF GitHub Bot commented on WEEX-648: - wqyfavor commented on a change in pull request #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#discussion_r228931993 ## File path: ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm ## @@ -991,8 +991,38 @@ - (void) _printFlexComponentFrame:(WXComponent *)component - (void)_syncUITasks { -NSArray *blocks = _uiTaskQueue; -_uiTaskQueue = [NSMutableArray array]; +static NSInteger _syncUITaskCount = 0; +NSInteger mismatchBeginIndex = _uiTaskQueue.count; +for (NSInteger i = _uiTaskQueue.count - 1;i >= 0;i --) { +if (_uiTaskQueue[i] == WXPerformUITaskBatchEndBlock) { +_syncUITaskCount = 0; +// clear when find the matches for end and begin tag +break; +} +if (_uiTaskQueue[i] == WXPerformUITaskBatchBeginBlock) { +mismatchBeginIndex = i; +break; +} +} + +NSArray *blocks = nil; +if (mismatchBeginIndex == _uiTaskQueue.count) { +// here we get end tag or there are not begin and end directives +} else { +_syncUITaskCount ++; +// we only find begin tag but missing end tag, +if (_syncUITaskCount > (MAX_DROP_FRAME_FOR_BATCH)) { +// when the wait times come to MAX_DROP_FRAME_FOR_BATCH, we will pop all the stashed operation for user experience. +mismatchBeginIndex = _uiTaskQueue.count; +_syncUITaskCount = 0; +} +} + +if (mismatchBeginIndex > 0) { +blocks = [_uiTaskQueue subarrayWithRange:NSMakeRange(0, mismatchBeginIndex)]; +[_uiTaskQueue removeObjectsInRange:NSMakeRange(0, blocks.count)]; +} + Review comment: 把下面的dispatch_async也放到if (mismatchBeginIndex > 0)这个if里面吧,空任务的时候减少一次给main提交block。 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16667217#comment-16667217 ] ASF GitHub Bot commented on WEEX-648: - wqyfavor commented on a change in pull request #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#discussion_r228928742 ## File path: ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm ## @@ -991,8 +991,38 @@ - (void) _printFlexComponentFrame:(WXComponent *)component - (void)_syncUITasks { -NSArray *blocks = _uiTaskQueue; -_uiTaskQueue = [NSMutableArray array]; +static NSInteger _syncUITaskCount = 0; Review comment: _syncUITaskCount不能声明为static,不同的instance有不同的componentManager不能共用一个变量。 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=1740#comment-1740 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647#issuecomment-430949728 Fails :no_entry_sign: Failed to run assembleDebug task for android. Messages :book: android build verification finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=1737#comment-1737 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647#issuecomment-430949728 Messages :book: has no jsfm file changed. :book: jsfm test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=1735#comment-1735 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647#issuecomment-430949728 Warnings :warning: No Changelog changes! Messages :book: danger test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=1733#comment-1733 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-430659894 Messages :book: No android file has been changed. :book: android build verification finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=1730#comment-1730 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-430659894 Warnings :warning: No Changelog changes! Messages :book: danger test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=1731#comment-1731 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-430659894 Messages :book: has no jsfm file changed. :book: jsfm test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16655000#comment-16655000 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-430659894 Warnings :warning: No Changelog changes! Messages :book: danger test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16655002#comment-16655002 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-430659894 Messages :book: No android file has been changed. :book: android build verification finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16654997#comment-16654997 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-430659894 Messages :book: has no jsfm file changed. :book: jsfm test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16654987#comment-16654987 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647#issuecomment-430949728 Fails :no_entry_sign: Failed to run assembleDebug task for android. Messages :book: android build verification finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16654976#comment-16654976 ] ASF GitHub Bot commented on WEEX-648: - weex-bot commented on issue #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647#issuecomment-430949728 Warnings :warning: No Changelog changes! Messages :book: danger test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16654977#comment-16654977 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647#issuecomment-430949728 Messages :book: has no jsfm file changed. :book: jsfm test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16654973#comment-16654973 ] ASF GitHub Bot commented on WEEX-648: - acton393 opened a new pull request #1647: [WEEX-648][Android]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1647 introduce a native batch for dom operations generating from JavaScript wrap a series of dom operations with beginBatch and endBatch directives, when every V-sync signal comes, we try to ensure that the operations between beginBatch and endBatch can be performed in current V-sync, this policy can drop frames maybe, for our policy dropping frames, we only allow 20 frames at most. see iOS pull request https://github.com/apache/incubator-weex/pull/1644 feature:648 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16653681#comment-16653681 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-430659894 Messages :book: No android file has been changed. :book: android build verification finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16653662#comment-16653662 ] ASF GitHub Bot commented on WEEX-648: - weex-bot edited a comment on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-430659894 Messages :book: has no jsfm file changed. :book: jsfm test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16653659#comment-16653659 ] ASF GitHub Bot commented on WEEX-648: - weex-bot commented on issue #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644#issuecomment-430659894 Warnings :warning: No Changelog changes! Messages :book: danger test finished. Generated by :no_entry_sign: http://github.com/danger/danger-js/";>dangerJS This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (WEEX-648) introduce native batch for dom operations generating from javaScript
[ https://issues.apache.org/jira/browse/WEEX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16653656#comment-16653656 ] ASF GitHub Bot commented on WEEX-648: - acton393 opened a new pull request #1644: [WEEX-648][iOS]native batch for dom operations generating from JavaScript URL: https://github.com/apache/incubator-weex/pull/1644 wrap a series of dom operations with beginBatch and endBatch directives, when every V-sync signal comes, we try to ensure that the operations between beginBatch and endBatch can be performed in current V-sync, this policy can drop frames maybe, for our policy dropping frames, we only allow 20 frames at most. feature:648 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > introduce native batch for dom operations generating from javaScript > > > Key: WEEX-648 > URL: https://issues.apache.org/jira/browse/WEEX-648 > Project: Weex > Issue Type: Improvement > Components: Android, iOS >Reporter: xingZhang >Assignee: xingZhang >Priority: Major > > We will introduce native batch for dom operations generating from javaScript > wrap a series of dom operations with beginBatch and endBatch directives, when > every V-sync signal comes, we ensure that the operations between beginBatch > and endBatch can be performed in current V-sync, this policy can drop frames > maybe, for our policy dropping frames, we only allow 20 frames at most. -- This message was sent by Atlassian JIRA (v7.6.3#76005)