官术网_书友最值得收藏!

  • Unity Game Optimization
  • Dr. Davide Aversa Chris Dickinson
  • 255字
  • 2021-06-24 12:12:56

Deep Profile

Ordinary profiling will only record the time and memory allocations made by common Unity callback methods, such as Awake(), Start(), Update()and FixedUpdate(). Enabling the Deep Profile option recompiles our scripts with a much deeper level of instrumentation, allowing it to measure each and every invoked method. This causes a significantly greater instrumentation cost during runtime than normal, and uses substantially more memory since data is being collected for the entire callstack at runtime. As a consequence, deep profiling may not even be possible in large projects, as Unity may run out of memory before testing even begins, or the application may run so slowly as to make the test pointless.

Note that toggling Deep Profile requires the entire project to be completely recompiled before profiling can begin again, so it is best to avoid toggling the option back and forth between tests.

Since this option blindly measures the entire callstack, it would be unwise to keep it enabled during most of our profiling tests. This option is best reserved for when default profiling does not provide sufficient detail to figure out the root cause, or if we're testing the performance of a small test scene, which we're using to isolate certain activities.

If deep profiling is required for larger projects and scenes, but the Deep Profile option is too much of a hindrance during runtime, then there are alternative approaches that can be used to perform more detailed profiling; see the upcoming section entitled Targeted profiling of code segments.

主站蜘蛛池模板: 东至县| 龙井市| 长乐市| 沁阳市| 望江县| 桐庐县| 新河县| 北流市| 沁水县| 横山县| 临泉县| 陵川县| 泾川县| 高唐县| 贵德县| 开封市| 徐闻县| 凤山市| 淮安市| 来宾市| 县级市| 东丰县| 东平县| 加查县| 蒲城县| 舒兰市| 南陵县| 东莞市| 榕江县| 出国| 磴口县| 娱乐| 扎赉特旗| 友谊县| 土默特左旗| 普陀区| 远安县| 嘉荫县| 陇南市| 绵阳市| 明水县|