さらに検証結果の追記です。

どうやらglVertex3d関数はSwap()と同じキューにタスクを放り込んで即制御を戻す気がします。
加えて、俺のPCだと計算時間はポリゴン数じゃなく、
glVertex3d関数で書き換わるバックバッファのピクセル数に比例するみたい。

・画面外に馬鹿でかいポリゴンを表示しても速度に影響しない(バッファに影響しないため?)
・画面全体を埋めるポリゴンだと3枚くらいでfpsが60を切る。
・上記より小さいポリゴン100枚(glVertex3d関数の呼び出し回数も100倍)のほうが圧倒的に早い。

キューにポリゴン表示によるバッファの書き換えも蓄積し、その後Swapが行われるから遅いってことかな。
こう考えればidle関数が2度目呼び出されるまで大幅に遅れるのも納得できる気がします。
初心者の戯言なので、間違ってたら指摘してください。