My attempt at getting the bevy GPU usage :
fn update_gpu_usage(mut rate_query: Query<&mut Text, With<GpuUsage>>) {
let Ok(mut text) = rate_query.single_mut() else {
return;
};
text.0 = format!("{:?}", machine.0.graphics_status());
}
use machine_info::Machine;
#[derive(Resource)]
struct MachineInfo(Machine);
impl Default for MachineInfo {
fn default() -> MachineInfo {
let mut m = Machine::new();
let pid = match get_current_pid() {
Ok(pid) => pid.as_u32() as i32,
Err(e) => {
panic!("failed to get current pid: {}", e);
}
};
info!("{}", pid);
m.track_process(pid).unwrap();
MachineInfo(m)
}
}
use sysinfo::get_current_pid;
fn setup_machine_info(mut commands: Commands) {
commands.init_resource::<MachineInfo>();
}
I'm using the machine info caret to get the gpu usage