
작은 비에는 얼마나 많은 자원이 필요할까요?
2026년 9월 28일 측정 · Apple M4 Max · 내장 디스플레이 1대
Weatherling은 창 주변에 움직이는 비를 그리므로 실행 중 CPU, GPU, 메모리를 사용합니다. 얼마나 사용하는지 궁금해하는 분들이 계셨습니다. 측정 방법, 최근 결과, 앞으로 더 테스트해야 할 항목을 소개합니다.
이 Mac에서 유효한 기본 설정 단기 테스트 두 차례의 평균은 CPU 코어 1개 기준 2.97~3.75% 및 물리 메모리 375~391 MiB였습니다. 4시간 테스트에서는 메모리가 점차 늘어 약 467 MiB에 이른 뒤 마지막 한 시간 동안 안정되었습니다. 한 기기에서 한 빌드를 측정한 결과이지, 모든 Mac이나 배터리 지속 시간에 대한 보장은 아닙니다.
테스트에 사용한 Mac과 빌드
Apple M4 Max, 메모리 64 GB, macOS 27.0을 탑재한 MacBook Pro를 사용했습니다. 내장 디스플레이는 2배율의 3456 × 2234픽셀이며 보고된 주사율은 120 Hz였습니다. 전원 어댑터를 연결하고 자동 밝기를 켠 채 일반적인 데스크탑 작업을 계속했습니다. 시작 시 보이는 창은 9개였습니다. 다른 활동이 없는 격리된 실험 환경은 아니었습니다.
앱은 버전 1.3(빌드 3)으로 표시된 로컬 Release 빌드였으며, 기반 커밋은 0ed73f4 입니다. 추가된 로컬 오디오 및 입력 추적 변경 사항도 테스트 기록에 남겼습니다. Release 빌드는 배포용 컴파일러 최적화를 사용한다는 뜻이지, 이 실행 파일이 현재 App Store에 있는 버전이라는 뜻은 아닙니다. 데이터를 모으기 전에 복사본을 고정해 이후 코드 변경이 테스트 중인 실행 파일을 바꾸지 못하게 했습니다.
벤치마크 진행 방식
네이티브 앱이 실제 데스크탑에 비를 그리는 상태를 측정합니다. 브라우저 애니메이션, 스크린샷, 화면 밖 렌더링 테스트만으로는 열린 창 사이에서 오버레이를 유지하는 전체 비용을 알 수 없습니다. 임시 설정을 사용해 사용자 설정을 덮어쓰지 않고 각 단계를 반복합니다.
- 앱이 종료된 상태로 시작합니다. 1분간 시스템 기준값을 기록한 뒤 비를 끈 상태로 앱을 실행합니다. 30초간 안정화하고 3분간 측정합니다.
- 기본 설정의 비를 실행합니다. 강도 0.35, 자동 품질 30 fps, 고정된 바람과 깊이를 사용하고 소리와 근거리 입자는 끕니다. 2분간 준비한 뒤 10분간 측정합니다.
- 강한 비를 실행합니다. 최대 강도, 부드럽게 품질 60 fps, 근거리 입자와 소리를 사용합니다. 다시 2분간 준비하고 10분간 측정합니다.
- 세 번 반복합니다. 반복하면 유리한 숫자 하나만으로는 보이지 않는 변동을 알 수 있습니다. 마지막에는 앱을 종료한 기준값을 다시 기록합니다.
- 기본 설정의 비를 4시간 동안 실행합니다. 다시 준비한 후 장시간 세션 전체의 메모리와 CPU를 추적하고 종료 무렵의 추세도 확인합니다.
전체 과정은 약 5시간 30분 걸립니다. 테스트 도구는 화면을 깨어 있게 유지하며 임시 설정은 전체 화면 앱 위에도 비를 허용합니다. 이는 측정 조건이지 일반적인 잠자기 동작의 증거가 아닙니다. GPU 추적, 네트워크 관찰, 메모리 맵 스냅샷은 CPU 및 메모리 측정 구간 밖에서 별도로 수행합니다. 결과를 채택하기 전에 일시 정지, 예상치 못한 종료, 프로파일러의 측정 구간 중복 여부를 로그에서 확인합니다.
최근 결과
| 시나리오 | 완료한 측정 | 평균 CPU | 평균 물리 메모리 |
|---|---|---|---|
| 비 끄고 새로 실행 | 3분 × 3회 | 0.23–0.82% | 물리 메모리 26.0~26.4 MiB |
| 기본 비, 초당 30프레임 | 유효한 10분 측정 × 2회 | 2.97–3.75% | 물리 메모리 375.0~390.5 MiB |
| 강한 비, 초당 60프레임 | 10분 × 3회 | 6.17–10.01% | 물리 메모리 411.7~419.3 MiB |
| 기본 비, 지속 테스트 | 4시간 | 5.64% | 물리 메모리 441.5 MiB |
CPU 백분율은 코어 1개를 100%로계산하며 프로세서 전체 기준이 아닙니다. 메모리는 그래픽 할당을 포함하는 물리적 사용량이며 일부 도구에 표시되는 더 작은 상주 메모리 수치와 다릅니다. 비를 끈 결과는 효과를 켰다 끈 뒤 남은 메모리가 아니라 비활성 상태로 새로 실행한 결과입니다.
첫 기본 설정 테스트는 보수적으로 제외했습니다. 준비 단계 끝 무렵 제외 앱 규칙으로 비가 멈췄고 스크린샷 도구의 활동이 측정 구간과 겹쳤습니다. 모든 단계는 완료했지만 유효한 기본 설정 단기 테스트는 두 번뿐입니다. 강한 비의 CPU 사용량도 회차마다 상당히 달랐습니다. 데스크탑 활동이 계속 변하므로 그 차이를 Weatherling만의 영향으로 보기는 어렵습니다.
4시간 동안 실행하는 이유
10분 테스트로는 나중에 누적되는 메모리 할당을 놓칠 수 있습니다. 지속 테스트 중 물리 메모리는 379.9에서 467.1 MiB로 증가했으며, 측정된 최댓값은 469.7 MiB였습니다. 시간별 평균은 421.0, 435.0, 442.8, 467.0 MiB였습니다. 마지막 한 시간은 거의 평평했으며 추세선의 기울기는 시간당 약 +0.1 MiB였습니다.
후반부의 안정은 유용한 증거지만 메모리 누수가 없다는 증명은 아닙니다. 앞선 증가도 여전히 조사할 필요가 있습니다. 4시간 평균 CPU는 코어 1개 기준 5.64%, 95백분위수는 12.15%로, 측정 구간의 95%가 이 수치 이하였다는 뜻입니다. 지속 테스트 중 수명 주기 관련 일시 정지는 기록되지 않았습니다. 반복 켜기와 끄기, 디스플레이 재연결, 잠자기와 깨우기는 별도 테스트가 필요합니다.
GPU 작업과 부드러움
별도의 Metal System Trace에서 기본 품질은 초당 약 30회, 강한 비 품질은 약 60회의 표시 콜백을 관찰했습니다. 명령 버퍼당 GPU 활성 시간의 평균 / 95백분위수는 기본 설정 0.307 / 0.758밀리초, 강한 비 0.375 / 0.596밀리초였습니다. 참고로 프레임당 시간은 30 fps에서 33.3 ms, 60 fps에서 16.7 ms입니다.
각 추적은 약 31초였습니다. 기본 설정에서 50 ms를 넘는 콜백 간격이 1회, 강한 비에서 25 ms를 넘는 간격이 15회였습니다. 콜백은 프레임 진행을 설명하는 데 도움이 되지만 디스플레이 지연이나 누락 프레임의 정확한 수는 아닙니다. GPU 실행 시간도 GPU 사용률 백분율이 아닙니다. 프로파일러 자체의 부하는 장시간 CPU 및 메모리 측정과 분리했습니다.
배터리 지속 시간은요?
이번 측정으로 Weatherling이 배터리 사용 시간을 몇 분 줄이는지는 알 수 없습니다. 단기 테스트에서 시스템 전력 추정값을 수집하고 데스크탑을 합성하는 macOS 프로세스인 WindowServer를 관찰했습니다. 이 수치에는 다른 앱과 변하는 작업량이 포함됩니다. 바쁜 시스템의 측정값끼리 빼서 앱만의 정확한 소비 전력을 얻을 수는 없습니다.
전력 기록은 첫 비활성 앱 단계 중간에 시작했고 지속 테스트 초반에 끝났습니다. 따라서 최초 종료 상태 기준 구간과 4시간 단계 대부분에는 전력 표본이 없습니다. 유용한 배터리 지속 시간 주장을 하려면 전원을 분리한 통제된 환경, 일정한 밝기와 작업량, 앱 실행 및 종료 상태의 비교가 필요합니다. 이 테스트는 아직 완료하지 않았습니다.
측정의 신뢰성을 지키는 방법
CPU 측정기는 macOS 프로세스 카운터를 읽으며 시간 변환을 프로세스 CPU 시계와 비교 검증했습니다. 물리 메모리와 디스크 I/O는 약 2초마다 측정합니다. 실행 파일 해시, 앱 버전, 소스 상태, 설정, 타임스탬프, 수명 주기 로그를 저장해 각 결과의 실행 이력을 추적할 수 있게 합니다. 이번에는 측정 구간 전에 프로파일링을 마쳤고 이후 저장된 설정도 바뀌지 않았습니다.
짧은 네트워크 스냅샷은 해당 시간 동안의 관찰일 뿐이며, 아무것도 보이지 않는다고 앱의 평생 네트워크 동작을 증명하지는 않습니다. 물리 디스크 쓰기가 0이어도 논리적 파일 활동이 없었다는 뜻은 아닙니다. 원시 추적에는 테스트 Mac의 다른 프로세스 정보가 포함될 수 있어 로컬에 보관합니다. 이 페이지에는 종합 결과와 측정 조건을 공개합니다.
성능이 낮은 Mac, 외장 디스플레이, 배터리 구동, 저전력 모드, 체계적인 잠자기 및 디스플레이 전환 측정이 더 필요합니다. 이번 실행은 개별 Ling의 비용도 분리하지 않습니다. 향후 가능한 한 같은 순서를 사용하되 하드웨어, 설정, 빌드의 변경은 하나의 대표 숫자로 섞지 않고 따로 밝히겠습니다.
사용 중인 Mac에서 성능이 다르게 느껴지면 문제를 알려 주세요 . Mac 모델, 앱 버전, 디스플레이 구성, 비 설정을 함께 보내 주시면 막연한 문제를 재현 가능한 테스트로 바꾸는 데 도움이 됩니다.