To run our experiments, we used the dynamic scene of moving cubes and tested scenes with different numbers of moving cubes.
The range spanned from 100 to 1500 objects moving in a given scene. The CPU spent on ray picking and the GPU time spent on color
picking were measured. The specs for the three machines used are as follows:
MacBook Pro Retina Display , CPU 2.7 GHz Intel Core i7 16GB, GPU Intel HD Graphics 4000 512 Mb
Dell Latitude E6430s LED Display, CPU Intel Core i5 35xOM, GPU Intel HD Graphics 4000 for Intel Core i5
Dell Latitude E6440s LED Display, CPU Intel Core i5-4300M, GPU Intel HD Graphics 4600 1696 Mb
Queries were repeated 100 times per scene on each computer for each number of objects. The results were then averaged, and the tables demonstrate the results we obtained.
Our observations and results of out experiments are as follows:
The GPU color picking algorithm consistently outperforms the CPU ray picking algorithm.
GPU performance is independent of the number of objects in the input scene. We attribute this to the large number of GPU unites operating in parallel, and each object is handled by a different GPU unit.
CPU performance is highly dependent on the number of objects. The time complexity increases linearly with the number of objects. We attribute this to the overhead induced by the intersection tests.
The gap difference in the GPU compared to the CPU performance increases with the complexity of the input scene.
Although very similar in terms of accuracy, the color picking method seems slightly more accurate than the ray picking method,
especially for distant objects.