- Latest Render
- Current Speed
- Multithreading Optimization
- The Rust toolchain.
git clone [email protected]:al-tameemi/rust_tracer.git
cargo runfor debug build,
cargo run --releasefor release build.
|CPU (Pre randomized world, speed can't be accuratly compared now)||Single Threaded||Multi Threaded|
|Ryzen 7 5800x 8-Core, 16-Threads @ 3.8GHz Base, 4.7GHz Boost||28S||2.5S|
|Apple M1 8-Core, 8-Threads @ 3.2GHz||18S||3.9S|
How and Where Multithreading is Used
Multithreading is being used during the iteration over the pixels in the screen. A new thread is requested from a thread pool for each pixel using Rayon's
- Convert the pixel sample calculation for Anti-Aliasing into a multithreaded workload (possible?).
- Iterate over the world using threads (not worth it unless the number of objects is large enough, needs testing).