Starling 2.0 Final Translation

Source: Internet
Author: User

Starling 2.0 Final

Daniel Sperl on April 19, 2016

It ' s been several weeks already since I offered you a first look at the brand new version of Starling (if you haven ' t read My previous post yet, make sure to doing so before Continuing:starling 2.0 Beta). Many developers were brave enough to take it for a test ride or even port their existing games over to the new version. That feedback is extremely valuable for me-thanks a lot to everyone who participated!

It has been a few weeks since the last release of the latest version of Starling. Many brave developers have been testing and even building their games directly based on the new version. Those feedbacks are really valuable to me, thanks to the Shenxianshizu warriors.

So you kept me quite busy, but it is well worth the effort:not is only is I able to move lots of potential issues out of t He, but I could also spend some more time on polishing the new version.

As a result of this feedback, I have been very busy, but these efforts are very valuable: this is not only because I can deal with some of the potential problems, but also allow me to spend more time to polish the new version.

Thus, finally, it ' s time to make the next step and publish the official version! Read on-to-find all about the additional changes that made it into the "Starling 2.0" release.

So, finally, it's time to start the next step and release the official version! Read on to discover some of the starling changes that have made it Starling 2.0 release.

Bringing CPU usage down to ZERO

make CPU descend to 0

Sometimes, it's the simple things that has the biggest impact. Remember the new "render cache" I introduced in the new version, which optimizes CPU workload for static parts of the disp Lay tree? It turned out I could even take this one step further. (A huge thanks to Maximgavrilov for coming up with this idea!)

Many times, rebuilding will make the original program and Starling have a greater incompatibility, but only in this way to maintain its simplicity, as well as the continued growth of follow-up. (Understanding the change is the meaning). If you remember the rendering cache I mentioned before, it can reduce the CPU load when there are many static objects in the case. I have again made a further adjustment to this.

It happens surprisingly often in an app or game that a scene stays completely static for several frames. Just look at the Starling Demo or the Feathers Component explorer:as long as your ' re not directly interacting with the app , they is mostly static. Why redraw the stage @ all?

This situation is very common in apps or games, and the scene is completely stationary for many frames. Can look at Starling demo and Feathers Component Explorer, as long as you do not directly interact with the app, then they are actually static, then why not directly render the entire stage it?

That's exactly the point of the new Skipunchangedframes-property. If enabled, the static scenes is recognized as such and the back buffer was simply left as it is. On a mobile device, the impact of this feature can ' t be overestimated! There ' s simply no better the enhance battery life.

That's the new Skipunchangedframes property. If this property is enabled, the static scene will be identified so that it can be done directly using a background cache. In a mobile device, and not all of the scenarios match this scenario, so keep your expectations. This is an easy way to improve battery life.

You might ask what I didn ' t activate this feature by default. The Reason:rendertexture and cclasses need special treatment when it's enabled (requiring a call to Setrequiresredraw whe Never their content changes), so I decided to better no cause any unpleasant surprises. Still, it ' s highly recommended to always activate this feature; Especially since it doesn ' t cost anything, performance-wise.

You may ask why this feature is not turned on by default. That's because the Rendertexture and Rendertexture classes require special handling. So I decided it's best not to have an unpleasant surprise. However, it is still recommended to activate this feature. Because he doesn't have any consumption, the performance boost is a better choice than the sensible one.

One more thing:to make it easy-recognize if you is utilizing this optimization in a given moment, I modified the stat Istics display Slightly:it would now turn dark green whenever a significant amount of frames is being skipped. Keep an eye on that!

In addition, in order to be able to simply identify if the optimization method is being used, I have slightly modified the statistics display, which turns dark green when those frames are skipped.

Optimizing Filters

Filter optimization

As described in my previous blog post, the filter API of Starling 2 was a massive improvement over the previous version. It ' s easier to write custom filters, you can use them more flexibly, and they make automatic use of the render cache.

As I mentioned in my previous blog post, the filter API is much better than the previous version. It will make it easier to write custom filters and you can use them more flexibly, which are supported directly by the render cache.

However, in cases where the render cache does not kick in, they were also a little bit slower than before. Well, not any longer! I spent a lot of additional effort on the API and brought it up to speed. The final render pass now draws directly to the back buffer, without detour over a texture.

However, in some places where the rendering cache is not involved, the efficiency of the filter will be slightly slower than the previous version. But this is not a long time, I spent another time on these APIs, so that they have faster speed. The final renderer is written directly to the back Buffer and does not need to be detours on a liberal arts basis.

You need even? Performance Junkies now has all the options they need:cache the filter output, use a lower resolution, or even change th e TextureFormat to a lower bit depth-all without compromising any of the original API enhancements.

Do you want better performance? Performance controls will have a more comprehensive selection, cache filter output, use lower resolution, or use a lower bit depth for the liberal arts type, which does not affect the performance gains of the original API.

All modesty aside, you won ' t find a filter API anywhere else that's as easy to use, as fast, or as flexible as this!??

Not modestly, you can't find a better, more flexible, faster filter API anywhere else.

Optimizing the Rest

Other optimizations

A huge part of my time is also spent on performance optimizations throughout the complete rendering pipeline. I found a number of shortcuts to exploit as the well as bottlenecks to avoid, and bringing up performance to a fantastic level.

I spend most of my time improving performance by optimizing the rendering channel. I found some shortcuts to avoid those performance bottlenecks and take performance to a higher level.

All in all, my tests indicate the CPU consumption of Starling 2 is typically a little higher than 1.8, which is Simpl Y a side effect of the additional flexibility (it seems the old saying about the ' free lunch ' have some truth in it, after All). On the other hand, GPU usage is reduced significantly, meaning you can move around more pixels than before and you ' ve got More options to the speed things up manually.

Overall, my test points out that CPU consumption, Starling 2, is slightly higher than 1.8. These are mainly used to improve flexibility (after all, there is no free lunch in the world). In addition, the GPU consumption decreased more. This means that you can move more pixels than before, or you can manually set some additional options to increase the speed.

As for bug reports, I is actually surprised how few problems popped up, despite the big number of testers! I think that ' s a testament to the robustness of the new architecture; Cleaner code makes for less bugs, that's the simple truth.

Wrapping it all up

I ' m extremely happy that I can finally scrap this "beta" sign and make Starling 2.0 "final". Personally, it marks the conclusion of a long and exciting development phase that confronted me with a Han I ever anticipated-and i ' m very proud of the result.

Now, what comes out of the this is all in your hands! I can ' t wait for the ways in which you push the new architecture to its limits. (Deferred shading, anyone?) A New Filter Collection? Or cross-texture batching?)

You can download Starling 2.0 at the usual place, of course! Don ' t forget to drop a comment below to tell me about it works for you. I ' m looking forward to your feedback!

But wait, before you go, there's one more thing. It ' s ...

give-away-time!

a bit . Myflashlabs offers free ane, you can go and see

To celebrate the release of Starling 2, the guys from Myflashlabs approached me with a special offer exclusively for Starl ing Developers:they is giving away some of their most popular native extensions for free!

    • In App Purchase (Android+ios)
    • Volume Control–pro (Android+ios)
    • Facebook (Android+ios)

All those ANEs into the shopping cart and use the Coupon-code "Free-ane-for-starling-users" At checkout.

Pro developers who need more ANEs and want guaranteed support can save even more money:myflashlabs agreed on a 60% Discou NT on their club membership (coupon: "Club-for-starling-users"). As with the individual ANEs, it is used only by Starling developers.

Knowing that many Starling developers is struggling to find great ANEs, I simply couldn ' t say "no" to the offer. ?? My thanks to the complete myflashlabs-team!

Starling 2.0 Final Translation

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.