2024/4/18 TIL
'오늘의 일에서 나는 어떤 것을 배웠는지' - 학습
Q30. 서로 다른 성능을 가진 기기에서 Update 사용 시 주의할 점에 대해 설명해주세요.
A30.
서로 다른 성능을 가진 기기에서 Unity의 Update 메서드를 사용할 때 주의해야 할 몇 가지 사항이 있다.
1. Frame Rate 관리
서로 다른 기기에서는 프레임 속도가 다를 수 있다.
따라서 Update 메서드 내에서 수행되는 작업이 많은 경우,
고성능 기기에서는 잘 동작할 수 있지만 저성능 기기에서는 성능 저하를 유발할 수 있다.
이를 해결하기 위해 프레임당 처리해야 할 양을 조정하거나,
고성능 및 저성능 기기 간의 차이를 고려하여 프레임 레이트 독립적인 방법으로 코드를 작성할 수 있다.
2. 가비지 컬렉션 최적화
Update 메서드 내에서 반복적으로 메모리를 할당하고 해제하는 작업이 있으면
가비지 컬렉션이 자주 발생할 수 있습니다. 이는 성능에 영향을 미칠 수 있으므로,
가비지 컬렉션을 최소화하기 위해 가능한 메모리를 재사용하고, 큰 객체를 필요하지 않은 경우에는 피하는 것이 좋다.
3. 최적화된 알고리즘 사용
Update 메서드 내에서 사용되는 알고리즘이 성능에 큰 영향을 미친다.
예를 들어, 루프 내에서 비용이 많이 드는 연산을 수행하거나,
많은 양의 데이터를 처리하는 경우에는 최적화된 알고리즘을 사용하여 성능을 향상시킬 수 있다.
4. 적절한 리소스 사용
다양한 기기에서 성능을 유지하기 위해 리소스를 적절하게 사용해야 한다.
고해상도 텍스처나 복잡한 모델은 성능에 부담을 줄 수 있으므로,
가능한 최적화된 리소스를 사용하는 것이 좋다.
5. 플랫폼별 최적화
서로 다른 플랫폼에서는 성능 특성이 다를 수 있으므로, 각 플랫폼에 맞는 최적화를 수행해야 한다.
예를 들어, 모바일 기기에서는 전력 소모를 최소화하기 위해 성능을 조정해야 한다.
6. 프로파일링
프로파일링 도구를 사용하여 성능 병목 현상을 식별하고 최적화할 수 있다.
프로파일링을 통해 어떤 부분이 성능에 영향을 미치는지 파악하고, 해당 부분을 개선하여 성능을 향상시킬 수 있다.
이러한 주의사항을 고려하면 다양한 기기에서 보다 일관된 성능을 유지할 수 있다.
'오늘의 나는 무엇을 잘했는지' - 성취
대분류 : 최종 팀 프로젝트 - 클라이언트 구현
소분류 : 스킬 로직 구현
액티브 / 패시브 / 특성 / 클래스 / 장비에는 전투 중에 일정 조건에 따라 발동하는 고유 효과가 붙는다.
이러한 조건들을 처리하기 위해 각각 로직 클래스를 작성해두어야한다.
오늘은 그 클래스 파일들을 생성하고 기반 작업을 했다.
내일부터 본격적으로 스킬 구현 작업을 해나갈 것이다.
'오늘의 나는 어떤 문제를 겪었는지, 앞으로 어떻게 해결할 것인지' - 개선
-