1つのMacの中で複数のレイトレサーバを起動して試してみます。
$ mv rt_v31 rt_v32 $ cat v32.patch | ( cd rt_v32 ; patch -p1 ) $ cd rt_v32 $ make clean $ make
rt.py の names の箇所
: names = [ 'srv.rt', 'srv.rt-14', 'srv.rt-15', 'srv.rt-16', 'srv.rt-17', 'srv.rt-18' ] names = names[:2] :
この箇所で起動するレイトレサーバの数を調整します。
まずサーバ1つの設定に書き換えて
: names = names[:1] :
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=objs name=out_v32/objs_1_2_sc n=1 init_sec=5 div=2 : wh : 76800/76800(100.0%) : fin 39.83s
以前の v31 wh : 76800/76800(100.0%) : fin 40.50s v30 wh : 76800/76800(100.0%) : fin 38.39s v29 wh : 76800/76800(100.0%) : fin 1m 44.72s v28 wh : 76800/76800(100.0%) : fin 1m 18.06s v27 wh : 76800/76800(100.0%) : fin 1m 8.39s v26 wh : 76800/76800(100.0%) : fin 1m 6.02s
サーバ数を2に戻して
: names = names[:2] :
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=objs name=out_v32/objs_1_2_sc n=1 init_sec=5 div=2 : wh : 76800/76800(100.0%) : fin 26.84s
サーバ数を3,4,5,6で順次試すと
names = names[:3] wh : 76800/76800(100.0%) : fin 28.43s names = names[:4] wh : 76800/76800(100.0%) : fin 28.81s names = names[:5] wh : 76800/76800(100.0%) : fin 29.13s names = names[:6] wh : 76800/76800(100.0%) : fin 29.35s
サーバ2つが最速でじわじわ劣化していきますね。 いづれにせよ1つの処理プロセスだけでは、コアを使い切れてなかったのは確かなようです。
サーバ2つの最速設定に戻して、 時間のかかっていた以前のデータで描画を試してみます。
names = names[:2] $ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=objs name=out_v32/objs_tst fps=1 : wh : 307200/307200(100.0%) : fin 2m 9.34s frm : 10/10(100.0%) : fin 19m 35.11s
fps=30での予想時間は ( 19*60+35.11 ) * 30 / 60/60 = 9.79時間
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=objs name=out_v32/objs : wh : 305132/307200(99.3%) : total 2m 14.94s : rest 0.90s : 2018/05/07 08:15:45 wh : 307200/307200(100.0%) : fin 2m 14.93s frm : 300/300(100.0%) : fin 10h 2m 5.22s
$ ./cg.py eyep=[0,0,0],50,10 sec=10 data_name=objs name=out_v32/objs_near : wh : 307200/307200(100.0%) : fin 2m 4.99s frm : 300/300(100.0%) : fin 10h 27m 29.13s $ ./srvs.py kill_all
ちとアングルが近過ぎた。