Parallel Occlusion Queries

I used an octree to organize a scene comprising many objects. When the scene is rendered, the visibility of each node is recursively determined using the occlusion queries of the nVidia. If a node is regarded as hidden, the traversal of its descendants terminates. If a visible leaf is found, its content is rendered. The occlusion queries for octants are performed one-by-one during the traversal. If parallel occlusion queries for objects are performed while a visible leaf is found, there will be less objects regarded as visible. However, the time of octant OQ will increase. Would anyone like to tell me why this happened?

Thanks in advance.

Occlusion query still has a rasterization cost. Unnecessary drawing always has a cost.

Reading back the results of an occlusion query during the same frame is likely to flush and stall the pipeline. You’re using the occlusion query for something it wasn’t really designed to do.