Python3 対応以降のソースを全体的に見直して、高速化してみました。
まずバージョン17から
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=objs name=out_v17/objs_32 div=32 : wh : 300/300(100.0%) : fin 3.09s frm : 300/300(100.0%) : fin 12m 51.35s
そしてバージョン18
$ cd .. $ cat v18.patch | ( cd rt ; patch -p1 ) $ cd rt $ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=objs name=out_v18/objs_32 div=32 : frm : 299/300(99.7%) : total 7m 35.62s : rest 1.51s : 2018/04/08 00:26:20 wh : 0/300(0.0%) : not start yet wh : 184/300(61.3%) : total 1.63s : rest 0.63s : 2018/04/08 00:26:20 wh : 300/300(100.0%) : fin 1.77s frm : 300/300(100.0%) : fin 7m 35.91s
(7*60+35.91) / (12*60+51.35) * 100 = 59.10 100 - 59.10 = 40.90
40.90パーセントの向上です。v^_^)
ということは、解像度を4倍あげてフレームレート2fpsにおとすと、
4*4*(2/30)=16/15=1.066
だいたい同じくらいの時間で仕上がるはず。
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=objs name=out_v18/objs_8_2_ div=8 fps=2 : wh : 4732/4800(98.6%) : total 32.64s : rest 0.46s : 2018/04/08 00:53:13 wh : 4800/4800(100.0%) : fin 32.60s frm : 20/20(100.0%) : fin 8m 14.18s
ですね。
さらに解像度を2倍でフレームレート30fpsの予想時間は
((8*60+14.18)*2*2*(30/2)) / (60*60) = 8.23
8.23時間。試してみます。
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=objs name=out_v18/objs_4 div=4 : wh : 19196/19200(100.0%) : total 1m 55.49s : rest 0.02s : 2018/04/08 08:58:21 wh : 19200/19200(100.0%) : fin 1m 55.53s frm : 300/300(100.0%) : fin 7h 56m 30.00s