성능 타이밍 사용

Nuke 느린 스크립트에서 병목 현상을 해결하는 데 도움이되도록 정확한 성능 타이밍 데이터를 화면에 표시하거나 XML 파일로 출력 할 수 있습니다. 성능 타이밍이 활성화되면 타이밍 정보가 노드 그래프에 표시되고 노드 자체는 녹색 (빠른 노드)에서 빨간색 (느린 노드)에 이르기까지 각각에 소요 된 총 처리 시간의 비율에 따라 색상이 지정됩니다.

노트 :  Python을 사용하여 개별 노드의 타이밍 정보에 액세스 할 수도 있습니다. 보다 https://learn.foundry.com/nuke/developers/113/pythondevguide/performance.html 자세한 내용은.

성능 타이밍 활성화

스크립트 편집기 또는 명령 줄에서 다음을 사용하여 프로파일 링을 활성화 할 수 있습니다. -P 논의. 타이밍 데이터를 XML 파일에 출력하여 -Pf 출력은 렌더링시에만 생성되지만 인수 및 파일 이름입니다.

노트 :  대화식으로 또는 명령 줄에서 성능 타이밍을 활성화하면 처리 오버 헤드가 추가되지만 데이터는 여전히 스크립트에서 처리 시간이 소비되는 위치를 정확하게 보여줍니다.

화면에 성능 타이밍 출력

화면에서 성능 타이밍을 사용하면 작업 할 때마다 노드별로 누적 데이터를 볼 수 있습니다.

스크립트 편집기에서 다음을 입력하십시오.

nuke.startPerformanceTimers()

명령 행에서 다음을 입력하십시오.

./Nuke<version>/Nuke<version>.exe -P

노트 :  다음을 사용하여 타이밍 데이터를 재설정 할 수 있습니다 nuke.resetPerformanceTimers () 스크립트 편집기에서.

성능 타이머가 활성화되면 화면에서 다음 정보를 사용할 수 있습니다.

cpu -CPU가 처리 코드를 실행하는 데 소요 된 시간 (마이크로 초)으로 모든 CPU 스레드에서 집계됩니다. 예를 들어, 멀티 스레드 처리의 경우 일반적으로 wall 시각. 스레드 당 평균 CPU 시간 (cpu 사용 된 스레드 수로 나눈 값) wall 이것은 CPU 스레드가 코드를 실행하지 않고 잠금을 기다리는 데 많은 시간을 보냈 음을 나타냅니다. 이는 성능 문제를 나타낼 수 있습니다.

노트 :  Mac 및 WindowsCPU 시간이 현재 정확하지 않습니다. Mac에서는 cpu 값은 항상 wall 시각.

wall -벽의 시계로 측정되는 시간-처리가 완료되기를 기다려야하는 실제 시간. 그만큼 wall 시간은 마이크로 초 단위로 측정됩니다.

ops -노드에서 호출 된 연산자 수운영자는 Nuke특정 작업을 수행하는 빌딩 블록. 노드에는 하나 이상의 작업이 포함될 수 있습니다. 예를 들어, 노드가 무언가의 크기를 조정해야 할 때 같은 일을하기 위해 자체 구현 대신 Transform op를 사용합니다.

보다 https://learn.foundry.com/nuke/developers/113/ndkdevguide/intro/terminology.html#op 자세한 내용은.

memory -노드가 사용하는 총 시스템 메모리 양.

타이밍 정보 외에도 노드는 프로파일 링에 따라 녹색에서 빨간색으로, 색상이 코딩되며, 여기서 빨간색은 느린 노드입니다. 예제 스크립트에서 Defocus는 느린 노드 인 반면 Merge는 전혀 작동하지 않습니다.

노트 :  다음을 사용하여 타이밍 데이터 표시를 중지 할 수 있습니다 nuke.stopPerformanceTimers () 스크립트 편집기에서.

파일에 성능 타이밍 쓰기

다음을 사용하여 타이밍 데이터를 XML 파일로 출력 할 수 있습니다. -Pf 인수와 파일 이름. 출력은 쓰기 노드 또는 명령 행 렌더링에서 렌더링시에만 생성됩니다.

의 위에 Windows예를 들어, 다음 명령은 노드 그래프의 쓰기 노드에서 렌더링 할 때 프로파일 데이터를 파일에 씁니다.

Nuke<version>\Nuke<version>.exe -Pf <file path and name>.xml

명령 행에서 렌더링하는 다음 명령은 스크립트에서 10 개의 프레임을 렌더링합니다. profileTest.nk 프로필 데이터를 XML 파일에 씁니다.

Nuke<version>\Nuke<version>.exe -x -Pf C:\temp\profileTest.xml C:\temp\profileTest.nk 1-10