We present a number of computational complexity results for an Optical model of computation called the continuous space machine. We also describe an implementation for an optical computing algorithm that, can be easily defined within the model. Our optical model is designed to model a wide class of optical computers, such as matrix vector multipliers and pattern recognition architectures. It is known that the model solves intractable PSPACE problems in polynomial time, and NC problems in polylogarithmic time. Both of these results use large spatial resolution (number of pixels). Here we look at what happens when we have constant spatial resolution. It turns out that we obtain similar results by exploiting other resources, such as dynamic range and amplitude resolution. However, with certain other restrictions we essentially have a sequential device. Thus we are exploring the border between parallel and sequential computation in optical computing. We describe an optical architecture for the unordered search problem of finding a one in a list of zeros. We argue that our algorithm scales well, and is relatively straightforward to implement. This problem is easily parallelisable and is from the class NC. We go on to argue that the optical computing community should focus their attention on problems within P (and especially NC), rather than developing systems for tackling intractable problems.