diff --git a/src/main.rs b/src/main.rs index f9c406b..e8cb6a7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,6 +8,7 @@ use breakwater::{ }; use clap::Parser; use env_logger::Env; +use log::warn; use std::sync::Arc; use tokio::sync::{broadcast, mpsc}; #[cfg(feature = "vnc")] @@ -21,6 +22,15 @@ async fn main() -> Result<(), Box> { env_logger::Builder::from_env(Env::default().default_filter_or("info")).init(); let args = Args::parse(); + #[cfg(target_arch = "x86_64")] + { + if !is_x86_feature_detected!("avx2") { + warn!("Your CPU does not support AVX2. Consider using a CPU supporting AVX2 for best performance"); + } else if !is_x86_feature_detected!("avx") { + warn!("Your CPU does not support AVX. Consider using a CPU supporting AVX2 (or at least AVX) for best performance"); + } + } + let fb = Arc::new(FrameBuffer::new(args.width, args.height)); // If we make the channel to big, stats will start to lag behind