summaryrefslogtreecommitdiff
path: root/README.md
blob: 552e4260ace7c4630aaa46ea4572de7cde024675 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Building
Just run make. Depends on libpng.

# Info
This project was my final for CS200 at JCCC. It uses multiple threads to draw the mandelbrot. When one thread is finished, it will communicate with other threads to split the load; work delegation is the main showcase of this project. 

# Writeup
For the writeup portion of this project I did last year, please visit [here](https://git.bpcspace.com/brett/Mandelbrot-CS200/src/branch/master/docs/p4.pdf). 
Here you will be able to see demos, as well as flowcharts and pseudo code for some of the functionallity.

# Problems
Due to the fact I had to complete this project in just a few days, there are a few problems I'd fix if I were to do it again. 

The largest issue is that the thread worker class is not extensible. I have rendering in the same function as thread communication; you should not need to reimpliment the syncronization aspects of the thread just to change how it renders. I am currently fixing this in another branch.
Additionally, I'm not sure if there was a simpler way to prevent race conditions then to manually create a mutex when modifying multiple variables.

New issue discovered on Jan 23rd: there's some redundant code in the syncronization section. I'm fixing in the mthread extensibility branch.