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

  • 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.

主站蜘蛛池模板: 图片| 龙胜| 琼中| 青川县| 手机| 平阳县| 浦北县| 舟曲县| 宁国市| 沅陵县| 阿瓦提县| 黄山市| 班玛县| 郓城县| 高台县| 阜新市| 上杭县| 宣恩县| 西贡区| 恩施市| 抚宁县| 临清市| 九寨沟县| 奎屯市| 安康市| 凭祥市| 收藏| 三亚市| 洪泽县| 呼伦贝尔市| 合肥市| 金平| 平原县| 包头市| 个旧市| 资溪县| 南和县| 潍坊市| 手游| 光山县| 息烽县|