wallpaper_set_subscriptions
함수는 Companion 앱에서 주어진 메트릭에 구독하는 기능을 제공합니다. 이 함수는 실시간 시스템 정보를 가져오고, 기본적으로 Live Wallpapers에서는 비활성화된 마우스 입력을 활성화하는 데 사용됩니다. GPU 메트릭이 제대로 작동하려면 대상 컴퓨터의 그래픽 드라이버가 최신이어야 합니다.
이 함수에 대한 호출은 이전에 활성화된 모든 구독을 취소하므로, 마지막 호출에 포함된 것만 활성 상태로 남습니다.
인수
이 함수에는 다음 문자열 중 하나 이상을 포함하는 배열을 전달합니다:
"desktop_mouse"
: Live Wallpaper에 대한 마우스 입력을 활성화합니다."cpu"
: CPU 메트릭을 구독합니다."gpu"
: GPU 메트릭을 구독합니다."battery"
: 배터리 메트릭을 구독합니다."ram"
: RAM 메트릭을 구독합니다."disk"
: 디스크 메트릭을 구독합니다."network"
: 네트워크 메트릭을 구독합니다."audio"
: 오디오 메트릭을 구독합니다.
메트릭 수신
Wallpaper Subscription Data
이벤트 내에서 구독한 메트릭에 대한 업데이트를 약 1초마다 수신하게 됩니다. 오디오 메트릭은 10초마다 업데이트됩니다. 이벤트에는 wallpaper_subscription_data
라는 변수가 포함되어 있으며, 이는 다음과 같은 구조체를 포함합니다:
wallpaper_subscription_data 구조체
멤버 |
설명 |
cpu |
CPU 장치 배열 |
gpu |
GPU 장치 배열 |
battery |
배터리 장치 배열 |
ram |
RAM 장치 배열 |
disk |
디스크 장치 배열 |
network |
네트워크 장치 배열 |
audio |
오디오 장치 배열 |
각 배열의 항목은 다음과 같은 구조체를 포함합니다:
CPU 메트릭 구조체
멤버 |
설명 |
name |
CPU의 이름 |
num_logical_cores |
논리적 코어 수 |
num_physical_cores |
물리적 코어 수 |
usage_pct |
CPU 사용률 |
current_clock_speed_MHz |
현재 클럭 속도 (MHz) |
max_clock_speed_MHz |
최대 클럭 속도 (MHz) |
voltage_V |
현재 전압 (V) |
GPU 메트릭 구조체
멤버 |
설명 |
name |
GPU의 이름 |
usage_pct |
GPU 사용률 |
clock_speed_MHz |
현재 클럭 속도 (MHz) |
fan_speed_pct |
GPU 팬의 목표 속도 (퍼센트) |
power_usage_W |
GPU 전력 사용량 (W) |
temperature_C |
GPU 온도 (C) |
memory_used_bytes |
사용 중인 GPU 메모리 (바이트) |
memory_available_bytes |
사용 가능한 GPU 메모리 (바이트) |
memory_total_bytes |
총 GPU 메모리 (바이트) |
배터리 메트릭 구조체
멤버 |
설명 |
name |
배터리의 이름 |
is_charging |
배터리가 충전 중인지 여부 |
remaining_charge_pct |
남은 배터리 충전 비율 |
remaining_time_min |
남은 배터리 시간 (분) |
RAM 메트릭 구조체
멤버 |
설명 |
name |
RAM의 이름 |
available_bytes |
사용 가능한 RAM (바이트) |
total_bytes |
총 RAM (바이트) |
used_bytes |
사용 중인 RAM (바이트) |
디스크 메트릭 구조체
멤버 |
설명 |
name |
디스크의 이름 |
available_bytes |
사용 가능한 디스크 (바이트) |
total_bytes |
총 디스크 (바이트) |
used_bytes |
사용 중인 디스크 (바이트) |
네트워크 메트릭 구조체
멤버 |
설명 |
bandwidth_bps |
네트워크 대역폭 (bps) |
send_bps |
현재 초당 전송 바이트 수 |
received_bps |
현재 초당 수신 바이트 수 |
오디오 메트릭 구조체
멤버 |
설명 |
freq_resolution |
주파수 해상도 (항상 10) |
spectrum_amplitude |
측정된 소리 진폭의 스펙트럼 분석 |
시스템에서 정보를 가져올 수 없는 경우, 해당 변수는 구조체에 존재하지 않을 수 있습니다. 존재하지 않는 변수를 접근하려고 하면 오류가 발생할 수 있으므로, struct_exists
를 사용하여 변수가 존재하는지 확인한 후 접근해야 합니다.
문법
wallpaper_set_subscriptions(subscriptions);
인수 설명
인수 |
유형 |
설명 |
subscriptions |
Array |
구독할 메트릭을 포함하는 문자열 배열 |
반환값
N/A
활용 예제
// 마우스 입력과 CPU, GPU 메트릭을 구독하는 예제
var metrics = ["desktop_mouse", "cpu", "gpu"];
wallpaper_set_subscriptions(metrics);
// 배터리와 RAM 메트릭을 구독하는 예제
var metrics = ["battery", "ram"];
wallpaper_set_subscriptions(metrics);
// 네트워크와 오디오 메트릭을 구독하는 예제
var metrics = ["network", "audio"];
wallpaper_set_subscriptions(metrics);
// 모든 메트릭을 구독하는 예제
var metrics = ["desktop_mouse", "cpu", "gpu", "battery", "ram", "disk", "network", "audio"];
wallpaper_set_subscriptions(metrics);