UWA Release | Unity Hand Tour Blue Book-ARPG Chapter

Source: Internet
Author: User

Report directory:

First, ARPG hand Tour overall performance cost analysis

Second, ARPG hand Tour CPU module performance cost analysis

Three, ARPG hand Tour Memory Module performance cost analysis

Analysis on the management of ARPG hand tour resources

V. UWA's recommendations for the ARPG Hand Tour research and development team

First, ARPG hand Tour overall performance cost analysis

The CPU
performance of iOS devices is generally higher than that of Android devices, and the CPU mean range for Android devices is 12.4~66.2 Ms,ios device with a CPU mean body range of 7.0~57.5 Ms.

We chose the four most frequently tested models to be counted, the four models were red Rice 2, red rice Note2, Huawei 6Plus and Samsung S6.

1) Most ARPG hand travel in low-end device performance overhead, on Android devices, CPU time is concentrated in the 17~50ms interval, and on iOS devices, CPU time is concentrated within 33MS.
2) compared with the same period in 2016, Q2 ARPG the CPU overhead of the low-end device increased 5.8 Ms.

whether it's high, medium, or low-end Android devices, rendering, UI, loading/coding are the focus of research and development teams, and their total cost of spending is 80%.

Let's take a detailed analysis of the cost of these mainstream modules.

Second, ARPG hand Tour CPU module performance cost analysis

1. Rendering module

Severity: Hell

In order to better reflect the overall use of the performance parameters, we have calculated the main use range of each performance parameter, the range is [5%~95%], the following data P5 represents 5%,P95 representative 95%.

on draw call use, the ARPG hand tour is slightly less than the MMORPG, and the control of the draw call is equally high, UWA suggests that the P95 < 200,76.3% of the draw call can be controlled within this range.

1) The number of rendered triangular patches in the scene of Arpg hand tour is generally high. And the higher the equipment performance, the higher the peak quantity. By statistics, in low-end devices, 46.5% of the project can control the number of rendered triangular patches below 100K.
2) The scene complexity of the ARPG game is significantly lower than the MMORPG game, and the peak of the rendered patch is 50K lower than the average of the MMORPG. At the same time, although the number of rendered patches of Q4 and Q1 has risen sharply, the trend of Q2 starting to fall is more obvious.

graphics.bilt operation average CPU time per call is mainly distributed in: 0.1~8.5ms. The increase in CPU overhead on low-end devices is more pronounced, but Q1 has declined significantly. This is mainly because, after the Q1, the ARPG project generally opens the multi-threaded rendering function.

2. UI Module

Severity: Hell

projects that use Ngui as a UI solution occupy a high proportion, but from a trend, Ugui starts from Q3 and is very fast. Through further analysis, we find that the number of new ARPG hand tours in the past six months has increased significantly with the use of Ugui, thereby significantly increasing the proportion of Ugui used in ARPG projects.

Below we will explain the CPU time and heap memory usage of Ngui and Ugui respectively.

the performance overhead of the UI module is still high, and it is the second largest performance killer in our statistics. On the low-end devices, more than 90% of research and development projects on the UI side are faced with more serious performance problems, mainly reflected in the game like MMORPG, the function of the interface complex, the same time need to update the panel more. However, the average time spent on ARPG is slightly lower than the MMORPG, because the ARPG is mainly still in the form of push chart, its players in the battle copy is pre-fixed, a large number of players with the screen to play strange situation is rare.

by statistics, the heap memory allocated in Ngui per 10000 frames of the body range is 6.0~81.7 Mb,ugui in the heap memory allocated per 10000 frame of the body within 12.3 MB. In terms of heap memory allocations, Ugui is far below Ngui.

3. Logic code

Severity: Nightmare

1 GC Trigger frequency is very high, is the main cause of the lag, only 12.5% of the project can control the GC trigger frequency at 1000 frames per second.
2) While the average GC time-consuming trend has risen in 2017, it has been significantly reduced compared to 2016.

1) Instantiate instantiation operation The average CPU time spent on each call is mainly distributed in: 1.2~43.5 MS, and is mainly concentrated within 10ms.
2) Instantiate instantiation is time-consuming after Q2, which means that more and more research and development teams are beginning to focus on resource management at the time of Project runtime.

Shader.parse operation is a more prominent performance killer, the average CPU time spent on each call is mainly distributed in 4.4~145.2ms. But as more and more teams understand the time-consuming nature of the item, the CPU time of the item is showing a noticeable downward trend.

4. Animation module

Severity: Nightmare

1) The cost of animator.update/animation.update is generally high on low-and medium-end devices, but overall time-consuming was marked by a significant downward trend in the first half of 2017.
2) The meshskinning.update of the ARPG game is significantly more time-consuming than the MMORPG game. This is mainly reflected in the role model of the number of slices and the number of bones, ARPG more inclined to the action expression.

5. Particle module

Severity: Normal

1) The CPU overhead of the particle system is generally low, and the downward trend is more obvious in the last year.
2) The number of particle systems used is still large, which results in higher memory consumption. UWA recommends that the peak of use of the particle system be controlled below 400, with only 21.8% of the current project achieved.

6. Physical module

Severity: Normal

the performance of the physical module is generally better, but it shows a more obvious upward trend, so the research and development team will still need attention in the low-end machine.
Three, ARPG hand Tour memory Module cost analysis

memory leaks are often a serious problem in the development process, and 37% of projects still have varying degrees of memory leaks. We can see that the ratio of memory leaks has fallen sharply since Q2, but as the new features of the project are being developed and new projects are pouring in, the ratio is starting to climb back sharply. Although the overall trend has declined, but the effective prevention and resolution of memory leakage problem, still a heavy task.

1. Overall memory

Severity: Hell

1) The total memory peak is mainly distributed in the 95.6~573.9 MB interval, and the average value is above 300MB.
2) The ARPG memory footprint is more pronounced than the MMORPG game. After further analysis, we found that the main resources (textures, meshes, animation segments, etc.) of the memory occupied by Q4 in most of the old projects have been greatly optimized for memory, but with the influx of new projects, the memory footprint of Q1 has risen sharply, while 2017 The Q2 memory drop is due to a significant drop in assetbundle memory, and most research and development teams begin to load Assetbundle in LZ4 format by LoadFromFile, allowing memory to fall back quickly.

2. Total Heap Memory

Severity: Hell

1) The total heap memory peak is mainly distributed to 9.7~109.6 MB, and only 37.7% of the total heap memory peaks can be controlled within 40MB.
2) The increase in heap memory usage is obvious, it is recommended that the research team focus on. In this respect, UWA recommends focusing on the following points:
    • Pay close attention to the use of configuration files, to avoid loading large configuration files at once and supporting large piles of memory;
    • The heap memory increase for many projects is due to hot updates. Therefore, it is suggested that the use of data in too large, by the sub-frame, and timely GC recovery;
    • While it is commonplace to avoid unnecessary code heap memory allocations, it is a trend to see that most research and development teams still need to be more focused.

A large part of the memory footprint of the project comes from the use of resources, and we will analyze the usage of the mainstream resources in the project.

3. Texture Resource Memory

Severity: Hell

1) The peak of texture memory is mainly distributed to 22.4~198.8 MB, and is mainly distributed in 50~100MB interval.
2) The peak memory consumption in Q4 fell sharply, but began to rise gradually after this year, it is recommended that the research and development team pay close attention to the texture resource usage of their projects.

4. Grid Resource Memory

Severity: Nightmare

1) The peak of grid resource memory is mainly distributed to 1.0~ 47.5 MB, and is mainly concentrated within 40MB.
2) The ARPG game scene is generally smaller compared to MMORPG games, the scene is relatively light and simple, so its grid resources are significantly lower than the MMORPG game.

5. Animation Resource Memory

Severity: Nightmare

Animation resource Memory Peak is mainly distributed within 38.7 MB, and mainly concentrated within 15MB.

6. Shader Resource Memory

Severity: Nightmare

1) shader resource memory peak is mainly distributed within 6.1 MB, and is mainly concentrated in 1MB.
2) from the memory trend, the memory consumption decrease is more obvious in the last year.

7. Rendertexture Resource Memory

Severity: Hell

1) rendertexture Resources Memory Peak is mainly controlled within 67.7 MB, and in each interval is more average.
2) The increase in memory usage is evident, and the development team is advised to pay special attention to its use in its own projects!

8. Particle System Resource Memory

Severity: Nightmare

1) The peak of the particle system resource memory is mainly distributed within 33.7 MB, and is mainly concentrated within 20MB.
2) The memory footprint of the particle system has been relatively stable, although in 2011 Q1 High-end machine memory occupied high, but in 2017 Q2 fell sharply to the previous level.
3) At present, the memory footprint of the particle system is still more "virtual high", that is, the number of active during the game is much smaller than the total amount of memory, in most projects, the number of active particle systems accounted for less than 10%, that is, the particle system memory consumption peak should be around 5MB.
Analysis on the management of ARPG hand tour resources

1) In terms of resource loading, assetbundle.load and Resources.load are the main loading methods in the project.
2) by calling the trend, we can see that the development team still has a significant growth trend in the use of resources.load. In this respect, UWA strongly recommends that the research and development team use Assetbundle as the main way to load game resources whenever possible.

1) loadfromfile (Async) is the main way of loading Assetbundle in the ARPG project.
2) The use of LoadFromFile (Async) has increased significantly by 46% on Q2, which is the Assetbundle loading method we highly recommend on UWA Day 2017 (after Unity 5.3), the research and development team can access the UWA Blog ( http/blog.uwa4d.com) Related articles to see specific performance comparisons.

Instantiate/destroy and Active/deactive calls are high and need to be noticed by the development team according to their own project situation:
1) due to the Active/deactive CPU overhead per call, and does not cause crashes, flashback and other issues, so the research and development team is very easy to ignore the performance of these two operations, resulting in the game running 10,000 frames active/deactive tens of thousands of calls. Therefore, there is a great waste of performance here;
2) The number of Instantiate/destroy calls is also high, although not as frequent as active/deactive, but every 3 frames calls 1 times the frequency of instantiate is still not to be ignored, it is recommended that the research and development team adhere to strengthen the project's resource management, Avoid unnecessary frequent instantiate/destroy operations.
V. UWA's recommendations for the ARPG Hand Tour research and development team

One, be wary of rendering module and UI module these two big performance killers! With the increasing number of ARPG projects, these two will still be the top priority in the performance optimization of the research and development team for a long time to come.

    • In terms of rendering, the control technology of draw call has been mastered by more and more teams, and with the development of equipment, the impact of draw call will be smaller, and the number of triangle rendering will gradually become the new performance bottleneck of the rendering module. The increasing amount of rendering triangle will put a lot of pressure on the GPU, power consumption and heat;
    • UI, the cost of the UI grid reconstruction is still a headache for the research and development team for a long time to come, the principle of UI optimization is very simple: static and dynamic separation, but the real operation is very difficult. 90% the UI performance problem in the project is due to the fact that there is no separation of the dynamic elements, but there is no specific reason for any two projects being consistent. This is the main reason why UI performance optimization is very difficult.

Second, the logic code aspect, although the instantiate instantiation cost Q2 presents the obvious downward trend, but still needs the research and development team to continuously monitor the resource management. At the same time, the increasing trend of GC overhead requires the development team to enhance the awareness of the optimization of mono heap memory;

Third, in memory optimization, similar to the MMORPG game, mono and rendertexture memory occupancy in 2017, the upward trend is very obvious, it is recommended that the research and development team in the next project development to pay close attention to these two memory use;

Four, in the animation module aspect, the ARPG game CPU time is significantly higher than the MMORPG game. In this respect, our recommendations are as follows:

    • Try the animation segment precision reduction technology, the technology in UWA blog and UWA question and answer (http://answer.uwa4d.com) have detailed explanation and code sharing;
    • Because the ARPG game is very high in motion performance, therefore, compared to the humanoid mode, generic mode is more suitable for ARPG project, it can make your animation performances and 3DMax, Maya and other production performance more consistent;
    • As the number of monster characters in ARPG continues to increase, GPU instancing technology will be favored by more game teams to participate in UWA blog related articles. But it is also important to note that the development team needs to control the number of rendered patches on the same screen.

Five, the resources load aspect, the resources.load still is the more mainstream resource load way. However, UWA recommends that you try to load related resources through assetbundle.load whenever possible. After Q2, LoadFromFile (Async) has become the mainstream of ARPG research and development team Assetbundle loading mode, for the research and development team still do not use this approach, it is recommended to view UWA related live information, and find corresponding performance comparison and analysis;

The above data is our overall research and trend analysis on the performance data of ARPG, aiming to show the general performance bottleneck in the project and the potential performance problems that the research and development team can easily overlook. But it also needs to be explained that optimization is a "cobwebs" process that requires the development team to spend a lot of time and patience to complete. UWA advice: Do more testing, with data to speak, empty cup mentality, will experience zero.

The above is UWA released 2016-2017 years of ARPG Performance assessment summary and analysis. This time, we have increased the performance parameters of the resource loading, resource unloading and other data to expand the integrity of the report, in the evaluation parameters added to the model, historical data and other convenient research and development team can be timely horizontal and vertical comparison. We are convinced that the data are talking, and there are always rules that we can trace back to truth and mistakes. At the same time, we will continue to refine the evaluation criteria, division, so that these data more representative and persuasive.

About UWA

By Tiger Technology developed by the game/VR application performance optimization platform, currently provides 1) performance detection and Optimization 2) resource detection and Analysis 3) UWA GOT three major tools. At the same time, we will develop more worry about the function for you, hope that through them can reduce the developer repeatedly test location problem time, thus will more focus on the project development and solve problems, can save for the project development of any one minute, is the pride of UWA team.

UWA Release | Unity Hand Tour Blue Book-ARPG Chapter

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.