Fixing Performance Problems - 2019.4

Tutorial

·

intermediate

·

+10XP

·

60 mins

·

(199)

Unity Technologies

Fixing Performance Problems - 2019.4

Languages available:

1. Optimizing scripts in Unity games

2. Diagnosing problems with our code

3. A brief introduction to how Unity builds and runs our game

4. The build process

5. The relationship between the code we write and compiled code

6. Run time communication between Unity Engine code and our script code

7. The causes of poorly-performing code

8. Improving the performance of our code

9. Writing efficient code

10. Move code out of loops when possible

11. Only run code when things change

12. Run code every [x] frames

13. Use caching

14. Use the right data structure

15. Minimize the impact of garbage collection

16. Use object pooling

17. Avoiding expensive calls to the Unity API

18. Other Unity API calls and further optimizations

19. Running code only when it needs to run

20. Culling

21. Level of detail

22. Optimizing garbage collection in Unity games

23. Diagnosing problems with garbage collection

24. A brief introduction to memory management in Unity

25. What happens during stack allocation and deallocation?

26. What happens during a heap allocation?

27. What happens during garbage collection?

28. When does garbage collection happen?

29. Problems with garbage collection

30. Finding heap allocations

31. What is allocated on the stack and the heap?

32. Using the Profiler window to find heap allocations

33. Reducing the impact of garbage collection

34. Reducing the amount of garbage created

35. Caching

36. Don’t allocate in functions that are called frequently

37. Clearing collections

38. Object pooling

39. Common causes of unnecessary heap allocations

40. Unity function calls

41. Function references

42. LINQ and Regular Expressions

43. Structuring our code to minimize the impact of garbage collection

44. Timing garbage collection

45. Optimizing graphics rendering in Unity games

46. A brief introduction to rendering

47. Types of rendering problems

48. Understanding rendering problems

49. The Profiler window

50. The Frame Debugger

51. Finding the cause of performance problems

52. If our game is CPU bound

53. Graphics jobs

54. Finding out which tasks are contributing to problems

55. Sending commands to the GPU

56. Reducing the number of times each object must be rendered

57. Combining objects into fewer batches

58. Culling, sorting and batching

59. Skinned meshes

60. Main thread operations unrelated to rendering

61. If our game is GPU bound

62. Fill rate

63. Memory bandwidth

64. Vertex processing

65. Conclusion

Complete this tutorial