Tuesday, August 2, 2022
HomeGame DevelopmentCocos Improve Equipment: Cocos Creator engine for efficiency optimization, enhancements to the...

Cocos Improve Equipment: Cocos Creator engine for efficiency optimization, enhancements to the open supply challenge – Cocos Creator


In my improvement historical past, initiatives all the time want some options that the engine doesn’t have, or the prevailing options of the engine can’t meet the demand.

So I put all of the options I needed so as to add to the engine in a single challenge: Cocos Improve Equipment.

I hope everybody can take part within the improvement of this challenge (repair bugs), so it is going to be open supply.

I hope this challenge would be the first to implement a few of the options that individuals count on the engine to have and produce a “native” expertise.

I hope this challenge will be like an alpha model of the engine, it may be a reference within the utility impact, and assist the engine group to implement the options that individuals count on the engine to have quicker.

The merchandise of including multi-texture rendering options to the engine, for instance, has been completed by many individuals, however.

  • There are people who do it by inheriting engine courses, which I feel will increase the price to the consumer and isn’t as silky clean as utilizing the engine’s native options.

  • There are people who do it by means of plugin scripts, however this strategy all the time requires copying a few of the engine code and will be awkward to implement, and I don’t suppose it’s any extra maintainable than a customized engine when Cocos Creator 2.x stops updating options.

Precedent for making multi-texture rendering options native to the engine.

The PixiJS engine has formally applied multi-texture rendering within the v4 launch in 2016.

The > Phaser engine relies on the PixiJS engine, so it additionally helps multi-texture rendering.

And the largest benefit of utilizing a customized engine is that it will possibly help native platforms, the drawback is that for the reason that mini-game platform has an engine plugin characteristic, utilizing a customized engine will stop you from utilizing the engine plugin.

Assist for multi-texture rendering

  • Sprite, cc.Label, cc.RichText, cc.MotionSteak, Backbone elements, simply drag within the elements to make use of.
  • Offers multi-texture batcher and computerized materials switching mechanism, which makes it simpler to dynamically generate and handle multi-texture supplies, and is the premise for most of the following options.

Assist for prime DPI textual content rendering

Beforehand, we’d enhance the fontSize and reduce the Scale of the node to realize this, however now it’s instantly applied contained in the engine, and the dimensions will be adjusted with one line of code.

cc.sp.labelRetinaScale = 2;

And supply a world swap and a single-component swap, you may management the vary of this characteristic on as you want.

Dynamic merge reconstruction

  • Due to the multi-texture rendering base, it’s potential to remain at 1 Draw Name with not less than 8 units of pictures.
  • It helps computerized multi-texture batching, optimized algorithms, reuse of discarded house, and different options.
  • Allows Backbone to take part in dynamic merging as nicely.
  • Assist world default swap, and add a swap for elements to take part in merging or not.
  • Expose extra merge interfaces to regulate using dynamic merge maps in a extra detailed approach.

CHAR Cache Mode Refactoring

  • Due to the multi-texture rendering base, the utmost variety of character atlases has been elevated from 1 to eight, which considerably alleviates the issue of textual content not being rendered when the atlases run out.
  • Computerized multi-texture batching can be supported, which signifies that Char character units will be merged with dynamic merging in a single batch.
  • Assist for reuse of discarded house

So long as the dynamic merge and Bitmap cache modes are used correctly, most scenes now not have to do particular Draw Name optimization (hitting the set, adjusting the node order, layering rendering) to have a superb variety of Draw Calls.

The Backbone part helps merging with different elements, merging into dynamic units and SpriteFrame swap

As talked about within the title, as a result of we discovered that the discussion board typically want to make use of SpriteFrame to decorate up Backbone, and there are lots of firms use Backbone to implement widespread animations, even body animations, which can have a giant efficiency burden if they will’t be mixed with different elements.

You will get the total detailed documentation beneath, and it solely takes a couple of steps (establishing a customized engine) to use all of the above options.

Github repository: GitHub – smallmain/cocos-enhance-kit: 这是一个提供 Cocos Creator 引擎特性增强、修复与优化的开源非官方增强包。

The improve package is extraordinarily restrained in making adjustments to the engine, and can attempt to make sure compatibility and never modify the unique defaults of the engine, so that you don’t have to fret about “all of a sudden utilizing it in some way”, and virtually all new options are enabled and disabled by default.

So after set up chances are you’ll discover that nothing appears to have modified within the challenge, we suggest that you simply learn the Getting Began tutorial to know the beneficial approach to make use of it.

Lastly, if you need a one-click set up, then think about my private paid engine extensions.

Cocos Retailer: Cocos Service Pack | Cocos Retailer

After all you may write a script to implement it in minutes, so think about this a sponsored hyperlink and thanks in your help

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -
Google search engine

Most Popular

Recent Comments