Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

コントローラバインドの高速化 #330

Closed
fukudayasuo opened this issue May 28, 2014 · 0 comments
Closed

コントローラバインドの高速化 #330

fukudayasuo opened this issue May 28, 2014 · 0 comments
Assignees
Milestone

Comments

@fukudayasuo
Copy link

@fukudayasuo fukudayasuo commented May 28, 2014

コントローラのバインド処理のリファクタや、コントローラ化に必要なものをキャッシュするなどして、高速化を図る。

fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue May 28, 2014
h5.core.controllerCacheManager及びh5.core.logicCacheManagerの作成。
fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue May 29, 2014
controllerManager,controllerCacheManager,logicCahceManagerを先頭で宣言してキャッシュ化
controller/logicCacheManagerを一旦非公開にしました。
controllerPropertyMapは値にnullを持つマップにして、key inでチェックするようにしました。
(その方が早いため)
isChildLogic内の不要な変数宣言を削除
createBindObjは必ず配列を返すように修正し、createBindObjectsにリネームしました。
registerUnbindList->registerWithUnbindListにリネーム
getXXXBindObj → getXXXBindObjectsにして、配列を返すようにしました。
bindByBindObjectは第3引数にdocumentを受け取るようにして、毎回getDcoumentOfを行わないでいいようにしmさいた。
bindByBindObject内の変数event→eventNameに変更
cacheManagerのregisterはDefObjを受け取って、作成、登録を行うようにしました。
cacheManager.createでのプロパティアクセスを減らしました。
コントローラのcacheはControllerCacheEntryクラスのインスタンスにしました
createAndBindController内でのプロパティアクセスを減らしました。
fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue May 29, 2014
CacheManager.clearAll()はthis._cacheMap = [];するだけにしました
wrapHandlerの呼び出しで、bindObj.controllerをキャッシュしてプロパティアクセス削減するようにしました。
@simdy simdy added this to the v1.1.11 milestone May 29, 2014
fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue May 29, 2014
fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue May 29, 2014
(bindObj.eventNameはDOMMouseScrollで、eventHandlerInfo.eventNameはmousewheelの場合にunbindできないバグがありました)

event -> eventName に変数名を変えました。
fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue May 29, 2014
controllerとlogicのcacheManagerを統合しました。
LogicCacheEntryクラスを作成しました。
childLogicProperties->logicPropertiesに変更
fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue May 29, 2014
fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue May 29, 2014
fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue May 30, 2014
fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue May 30, 2014
xxxEach -> doForEachXxx に名前変更 (childControllerEach等)
typo修正 aquireFromControllerContext -> acquireFromControllerContext
createCallbackForInit内のisDisposedのチェックが不要なタイミングでされていたものについて削除
(__controllerContextを辿る前と、__init実行後の2つのタイミングでチェックがあればよい。)
initInternalProperty内の変数名が間違えていた箇所を修正。
fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue May 30, 2014
waitForPromisesで、
 promisesLength===0ならdoneを呼んで即returnするようにしました
 checkedPromises -> monitoringPromisesにリネームしました
fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue May 30, 2014
fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue Jun 2, 2014
h5test空間はjqmが使用しているため、eventTargetTestに名称変更。
@simdy simdy closed this Jun 3, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.