The Gameboy camera is advertised as capbable of 30 fps. So the question is how can we obtain the frame rate. This little discourse attempts to answer that question.
The below is number of images captured during a 15 second interval. The first number is the exposure register setting. followed by total number of images taken and approximate frames per second (total/~fps)
| Exposure | rows data | Frames | frames/second |
| 1 | 128 | 367 | 24 |
| 1500 | 128 | ? | 10 |
| 6000 | 128 | 60 | 4 |
| 32000 | 128 | 9 | 0.6 |
| 1 | 1 | 11505 | 767 |
| 1500 | 1 | 280 | 18 |
| 6000 | 1 | 72 | 4 |
| 32000 | 1 | 14 | 0.9 |
Note, The exposure is determined by the register setting. It's minimum is 16 microseconds with a maximum a little over 1 second.
With a large exposure setting, about 99% of the time is spent in the exposure; thus, with very little time comparatively transmitting the image from camera to gbamera_buffer structure and thus very little improvement is possible--period. As the exposure time moves toward 0, then a lot of the CPU time is spent transmitting the image making shrinking the image portion actually improve performance, but I must emphasize, unless you are doing a lot of processing on the image or you do not need that portion of the image, then it would be better to capture the whole image because the CPU processing SHOULD be faster than the time capturing another subimage; i.e., you have to set up camera, wait for exposure, transmit subportion, etc all over again. Thus, all effort should be spent in getting a light source on the robot so it can minimize the exposure setting. As the chart shows, if the exposure can be set to under 1500, then this will improve you to over 10 fps with a whole image! One possible use of a subportion though, is since creating that bright is probably going to be high current unless we can focus it to one section of the image--where we will take a reading; thus cutting down our current use and optimizing the camera frame rate.