Construction of effective acceleration structure is an essential and challenging problem in ray tracing. The surface area heuristic (SAH), regarded as the standard cost function for construction, is based on the assumption that rays are uniformly distributed. This simplification ignoring actual ray distribution results in a reduction both on construction and rendering performance. Unlike previous methods, we exploit ray distribution during construction in two steps. First, we propose an improved cost metric for constructing an efficient kd-tree by exploiting the visible primitives to approximate the ray distribution. Then, we device a stream based partial construction to prune the invisible primitives from building as early as possible, and improve memory access coherence. We also introduce a termination criterion for two-levels hierarchical construction to balance the construction time and memory consumption. Our experiments demonstrate that the algorithm can produce a kd-tree more efficient than the standard SAH, and a significant reduction on construction time and memory consumption.