Why FPS drops alot in the GPU picking on-demand rendering

Hi guys,
I spent a few hours on why the fps drops alot in the gpu picking with on-demand rendering. Codepen is here: https://codepen.io/ggraphics/pen/wvjLLBM
However, following the example (three.js/webgl_interactive_cubes_gpu.html at d081c5a3501d272d19375fab1b01fedf9df29b22 · mrdoob/three.js · GitHub), this picking with animation loop is pretty good without significant fps drops. Codepen is here: https://codepen.io/ggraphics/pen/jOxjjrm
They have exactly the same geometries, materials, scenes but different rendering flow. Any ideas? Thanks!