애플리케이션 성능 계획
성능 목표 달성 여부는 성능 전략을 얼마나 잘 개발하느냐에 따라 달라집니다. 계획은 모든 제품 개발의 첫 단계입니다. 이 항목에서는 우수한 전략을 개발하기 위한 몇 가지 아주 간단한 규칙에 대해 설명합니다.
시나리오의 관점에서 생각해 보기
시나리오를 사용하면 애플리케이션의 중요 구성 요소에 집중할 수 있습니다. 시나리오는 일반적으로 고객뿐만 아니라 경쟁력 있는 제품에서도 파생됩니다. 항상 고객을 연구하고 자사 제품과 경쟁사 제품의 진정한 매력이 무엇인지 확인하세요. 고객의 피드백은 애플리케이션의 기본 시나리오를 결정하는 데 도움이 됩니다. 예를 들어 시작 시 사용할 구성 요소를 디자인하는 경우, 구성 요소는 애플리케이션이 시작될 때 한 번만 호출될 확률이 높습니다. 시작 시간은 주요 시나리오가 됩니다. 주요 시나리오의 다른 예로는 애니메이션 시퀀스의 바람직한 프레임 속도 또는 애플리케이션에 허용되는 최대 작업 집합입니다.
목표 정의
목표는 애플리케이션의 성능이 빠르거나 느린지를 확인하는 데 도움이 됩니다. 모든 시나리오의 목표를 정의해야 합니다. 정의하는 모든 성능 목표는 고객의 기대치에 따라 정의해야 합니다. 아직 해결되지 않은 문제가 많은 경우 애플리케이션 개발 주기 초기에 성능 목표를 설정하기 어려울 수 있습니다. 하지만 목표를 한 번에 설정하는 것보다는 초기 목표를 설정한 다음 나중에 수정하는 것이 더 좋습니다.
플랫폼 이해
애플리케이션 개발 주기 동안 측정, 조사, 구체화/수정 주기를 항상 유지해야 합니다. 개발 주기의 시작부터 끝까지 신뢰할 수 있고 안정적인 환경에서 애플리케이션의 성능을 측정해야 합니다. 외부 요인으로 인한 가변성을 방지해야 합니다. 예를 들어 성능을 테스트할 때는 성능 테스트 결과에 영향을 주지 않도록 바이러스 백신이나 SMS 같은 자동 업데이트를 사용하지 않도록 설정해야 합니다. 애플리케이션의 성능을 측정한 후에는 가장 큰 개선을 가져올 변경 내용을 식별해야 합니다. 애플리케이션을 수정했다면 주기를 다시 시작합니다.
성능 조정을 반복 프로세스로 만들기
사용할 각 기능의 상대적인 비용을 알아야 합니다. 예를 들어 Microsoft .NET Framework에서의 리플렉션 사용은 일반적으로 컴퓨팅 리소스라는 측면에서 성능 집약적이므로, 신중하게 사용해야 합니다. 리플렉션을 사용하지 말라는 뜻이 아니라, 애플리케이션의 성능 요구 사항과 사용하는 기능의 성능 요구 사항 사이의 균형을 맞춰야 한다는 뜻입니다.
풍부한 그래픽 구축
WPF 애플리케이션 성능 달성을 위한 확장 가능한 접근 방식을 만드는 핵심 기법은 풍부하고 복잡한 그래픽을 구축하는 것입니다. 처음에는 항상 최소 성능 집약적 리소스를 사용하여 시나리오 목표를 달성해야 합니다. 이러한 목표를 달성한 후에는 항상 시나리오 목표를 염두에 두고 더 많은 성능 집약적 기능을 사용하여 풍부한 그래픽을 구축해야 합니다. WPF는 매우 풍부한 플랫폼이며 대단히 풍부한 그래픽 기능을 제공합니다. 아무 생각 없이 성능 집약적인 기능을 사용하면 전체 애플리케이션 성능에 부정적인 영향을 미칠 수 있습니다.
WPF 컨트롤은 컨트롤 동작을 변경하지 않고도 모양에 대한 광범위한 사용자 지정을 허용하기 때문에 기본적으로 확장할 수 있습니다. 스타일, 데이터 템플릿 및 컨트롤 템플릿을 사용하면 성능 요구 사항에 맞게 조정되는 사용자 지정 가능한 UI(사용자 인터페이스)를 만들고 점진적으로 개선할 수 있습니다.
참고 항목
.NET Desktop feedback