더 많은 정보
Nuke 스크립트의 어떤 부분이 재생/렌더링 시간을 느리게 만드는지 찾아내는 것은 어려울 수 있습니다.
이 프로세스를 용이하게 하기 위해 Nuke 스크립트에서 노드의 성능을 프로파일링하는 두 가지 대체 방법인 성능 타이머 사용 과 프로파일 노드를 제공합니다.
두 방법 모두 특히 느린 노드를 분리하고 워크플로를 최적화하는 데 도움이 되는 분석을 제공합니다. 프로파일링 시 노드는 녹색부터 빨간색까지 색상으로 구분되며, 빨간색은 느린 노드를 나타냅니다.
아래 예에서 볼 수 있듯이 Defocus는 느린 노드이고 Merge는 전혀 작업을 수행하지 않습니다.

성능 타이머 사용
성능 타이머 모드를 사용하면 각 노드의 분석과 노드의 다양한 지표를 볼 수 있습니다.
성능 타이머를 활성화하여 Nuke 실행
성능 타이머를 활성화한 상태에서 Nuke 실행하려면 Nuke 실행 시 -P 플래그를 사용할 수 있습니다. 각 운영 체제별 설정 방법은 아래에서 확인할 수 있습니다.
윈도우 :
명령 프롬프트 창을 열고 다음 명령을 실행합니다.
맥OS:
터미널 창을 열고 다음 명령을 실행하세요.
명령 프롬프트 창을 열고 다음 명령을 실행합니다.
"C:\Program Files\Nuke16.0v4\Nuke16.0.exe" -P맥OS:
터미널 창을 열고 다음 명령을 실행하세요.
/Applications/ Nuke 16.0v4/ Nuke 16.0v4.app/Contents/MacOS/ Nuke 16.0 -P
리눅스:
터미널을 열고 다음 명령을 실행하세요.
참고: 이 지침은 Nuke 기본 위치에 설치된 것을 기준으로 합니다. 그렇지 않은 경우, 사용자 지정 설치 위치에서 실행되도록 명령을 적절히 수정해야 합니다.
터미널을 열고 다음 명령을 실행하세요.
/usr/local/ Nuke 16.0v4/ Nuke 16.0 -P참고: 이 지침은 Nuke 기본 위치에 설치된 것을 기준으로 합니다. 그렇지 않은 경우, 사용자 지정 설치 위치에서 실행되도록 명령을 적절히 수정해야 합니다.
성능 타이머가 활성화된 상태에서 Nuke 실행하면 아래와 같이 Nuke UI의 성능 메뉴에서 타이머를 재설정, 시작 및 중지할 수 있습니다.
Python을 사용하여 성능 타이머 활성화
Nuke 세션에서는 스크립트 편집기에서 다음 명령을 실행하여 성능 타이머를 시작하거나 중지할 수도 있습니다.
nuke .startPerformanceTimers()
nuke .stopPerformanceTimers()
이러한 명령에 대한 자세한 내용은 아래 설명서에서 확인할 수 있습니다.
startPerformanceTimers : https://learn.foundry.com/ nuke /developers/latest/pythondevguide/_autosummary/ nuke .startPerformanceTimers.html
stopPerformanceTimers : https://learn.foundry.com/ nuke /developers/latest/pythondevguide/_autosummary/ nuke .stopPerformanceTimers.html
성능 타이머 사용 중 보고된 정보
성능 타이머가 활성화되면 각 노드에서 다음 정보가 보고됩니다.
• CPU - CPU가 처리 코드를 실행하는 데 소요된 시간(마이크로초)으로, 모든 CPU 스레드에 대해 집계됩니다.
예를 들어, 멀티스레드 처리에서는 일반적으로 실제 처리 시간(wall time)보다 훨씬 더 깁니다. 스레드당 평균 CPU 시간(CPU를 사용된 스레드 수로 나눈 값)이 실제 처리 시간보다 훨씬 짧다면, CPU 스레드가 코드를 실행하지 않고 잠금 대기에 많은 시간을 소비했음을 의미할 수 있으며, 이는 성능 문제를 나타낼 수 있습니다.
참고 : macOS 및 Windows에서는 CPU 시간이 현재 정확하지 않습니다. macOS에서는 CPU 값이 항상 실제 경과 시간과 비슷합니다.
• wall - 벽에 걸린 시계로 측정되는 시간, 즉 처리가 완료될 때까지 기다려야 하는 실제 시간입니다. wall 시간은 마이크로초 단위로도 측정됩니다.
• ops - 노드에서 호출된 연산자 수입니다. 연산자는 특정 작업을 수행하는 Nuke 의 구성 요소입니다. 노드는 하나 이상의 연산자를 포함할 수 있습니다.
예를 들어, 노드가 무언가의 크기를 조정해야 하는 경우, 그 자체의 구현을 사용하는 대신 Transform op를 사용하여 동일한 작업을 수행합니다.
• 메모리 - 노드에서 사용되는 총 시스템 메모리 양입니다.
Nuke 성능 프로파일링 모드로 실행하면 아래와 같이 Nuke UI의 성능 메뉴에서 타이머를 재설정, 시작 및 중지할 수 있습니다.
프로필 노드
Nuke 11.1에서는 Profile 노드를 추가했는데, 이를 통해 사용자는 Profile 노드가 배치된 지점에서 노드 트리의 메트릭을 계산할 수 있습니다.
프로필 노드의 속성에서 프로필 패널 열기를 눌러 Nuke 스크립트 프로파일링을 위한 컨트롤에 액세스할 수 있습니다.

Nuke 스크립트를 프로파일링하려면 프로파일 노드를 프로파일링하려는 스크립트 부분에 연결하고, 선택한 프레임 범위와 데이터 유형을 입력한 다음 프로파일을 클릭합니다.
데이터가 수집되면 프로필 패널에 사용률에 따라 수집된 데이터가 아래와 같이 차트로 표시됩니다.
참고: 이 데이터 필터링에 대한 자세한 내용은 프로필 데이터 필터링 설명서를 참조하세요.
방법 간의 차이점
프로필 노드는 차트 및 기타 GUI 기반 진단과 같은 여러 가지 새로운 기능을 제공하지만, 성능 타이머가 사용하는 타이머 기반 분석이 아닌 백분율 기반 분석을 기반으로 성능을 계산합니다.
추가 정보
두 방법에 대한 자세한 내용은 각각 성능 프로파일링 또는 프로파일 노드 설명서에서 확인할 수 있습니다.
우리는 문제로 불편을 끼쳐 드려 죄송합니다
이유를 알려주세요
요약
이 문서에서는 스크립트 속도 저하의 원인을 파악하기 위해 Nuke 노드의 성능을 테스트하는 데 사용할 수 있는 두 가지 대체 방법을 설명합니다.