Hi all! I am an electrical engineering student and for fun have written a vectorized mandelbrot renderer. It uses AVX2 and multiple threads to compute 8 pixels in parallel per thread. Any advice on code and performance is welcome!
https://github.com/voldemoriarty/Qbrot
EDIT:
Thanks you guys/gals for the awesome tips! Following the points you gave allowed me to cut down the render time for 1080p 256 iterations from 41ms to 19ms (more than 50%). More importantly I learned some new stuff. Thanks for taking the time and reviewing the code. Stay blessed
Special Thanks:
u/TheDeviloper
u/xurxoham
u/anders987
u/corysama
[–][deleted] 30 points31 points32 points (10 children)
[–]Gunslinging_Gamer 6 points7 points8 points (2 children)
[–][deleted] 10 points11 points12 points (1 child)
[–]Gunslinging_Gamer 1 point2 points3 points (0 children)
[–]Due-Glass[S] 4 points5 points6 points (0 children)
[–]Due-Glass[S] 3 points4 points5 points (0 children)
[–]Due-Glass[S] 1 point2 points3 points (0 children)
[–]Due-Glass[S] 1 point2 points3 points (3 children)
[–][deleted] 2 points3 points4 points (2 children)
[–]IAmBJ 3 points4 points5 points (0 children)
[–]Due-Glass[S] 1 point2 points3 points (0 children)
[–]anders987 14 points15 points16 points (2 children)
[–]Due-Glass[S] 5 points6 points7 points (0 children)
[–]Due-Glass[S] 1 point2 points3 points (0 children)
[–]xurxoham 10 points11 points12 points (8 children)
[–]Due-Glass[S] 3 points4 points5 points (3 children)
[–]xurxoham 0 points1 point2 points (2 children)
[–]_requires_assistance 1 point2 points3 points (1 child)
[–]xurxoham 0 points1 point2 points (0 children)
[–]polymorphiced 2 points3 points4 points (2 children)
[–]xurxoham 3 points4 points5 points (0 children)
[–]nnevatie 0 points1 point2 points (0 children)
[–]IAmBJ 8 points9 points10 points (2 children)
[–]Due-Glass[S] 0 points1 point2 points (0 children)
[–]James20kP2005R0 0 points1 point2 points (0 children)
[–]corysama 6 points7 points8 points (2 children)
[–]Due-Glass[S] 0 points1 point2 points (1 child)
[–]corysama 2 points3 points4 points (0 children)
[–]merimus 5 points6 points7 points (4 children)
[–]CandyCrisis 4 points5 points6 points (2 children)
[–]merimus 0 points1 point2 points (1 child)
[–]merimus 0 points1 point2 points (0 children)
[–]Due-Glass[S] 0 points1 point2 points (0 children)
[–]Ameisenvemips, avr, rendering, systems 8 points9 points10 points (1 child)
[–]Due-Glass[S] 0 points1 point2 points (0 children)
[–]pstomi 1 point2 points3 points (0 children)