cocos-engine icon indicating copy to clipboard operation
cocos-engine copied to clipboard

Cache temporary se::Objects generated by JSB object properties accessing

Open PatriceJiang opened this issue 3 years ago • 2 comments

Re: #

Changelog

  • Enable SE_HOLD_RETURN_VALUE

Need a smarter way to cache temporary JS object


Continuous Integration

This pull request:

  • [ ] needs automatic test cases check.

    Manual trigger with @cocos-robot run test cases afterward.

  • [ ] does not change any runtime related code or build configuration

    If any reviewer thinks the CI checks are needed, please uncheck this option, then close and reopen the issue.


Compatibility Check

This pull request:

  • [ ] changes public API, and have ensured backward compatibility with deprecated features.
  • [ ] affects platform compatibility, e.g. system version, browser version, platform sdk version, platform toolchain, language version, hardware compatibility etc.
  • [ ] affects file structure of the build package or build configuration which requires user project upgrade.
  • [ ] introduces breaking changes, please list all changes, affected features and the scope of violation.

PatriceJiang avatar Aug 12 '22 06:08 PatriceJiang

        (this._stats.bufferMemory.counter as PerfCounter).value = device.memoryStatus.bufferSize / (1024 * 1024);
        (this._stats.textureMemory.counter as PerfCounter).value = device.memoryStatus.textureSize / (1024 * 1024);

When accessing device.memoryStatus.bufferSize in JS, a se::Object will be created and drop immeditely. Bound attributes like memoryStatus need to be cache.

PatriceJiang avatar Aug 12 '22 06:08 PatriceJiang

Interface Check Report

This pull request does not change any public interfaces !

github-actions[bot] avatar Aug 12 '22 06:08 github-actions[bot]