RX65N Envision Kit でレイ・トレーサーを走らせてみました。

M5Stack や、ESP32 では、定番のようなので、ソースを取得、元々 Arduino 用なので、改造して動かしてみました。

ESP32(160MHz) では13秒らしいですが、120MHzのRX65では7.7秒なので、かなり高速ですね。

※速度比較の為320×240でレンダリングしてます。

ソースコードは以下に・・

https://github.com/hirakuni45/RX/tree/master/RTK5_RAYTRACER

 

Parents
  • > ESP32(160MHz) では13秒らしいですが、120MHzのRX65では7.7秒なので、かなり高速ですね。

    レイトレーサー本体の関数 doRaytrace() の第1引数は疑似的なアンチエリアシングを行うための値であり、これに 2 以上の値を指定すると画質が向上する反面計算が繰り返されるのでその値分計算時間が倍増しますが

    github.com/.../RTK5_RAYTRACER
    ↑ doRaytrace() の第1引数の値は 4

    macsbug.wordpress.com/.../
    ↑ でリンクされてる TFT22_raytrace.zip 中の TFT22_raytrace.ino の中での doRaytrace() の第1引数の値は 1

    github.com/.../main.c
    ↑ での doRaytrace() の第1引数の値は 1

    になっており、おおよそ比較にはなってない感じです。

  • doRaytrace() の第1引数に 1 を指定してレンダリングした結果:

    4 を指定してレンダリングした結果:

    おわかりいただけただろうか

Reply Children
  • 確かに、「raysPerPixel」は「1」でベンチマークを行っているようです。

    RX65Nでも、FSQRTマクロなどを盛り込み、同条件で再度ベンチマークを行いました。

    上記のように、0.83秒でレンダリングします。
    fujita nozomu」さんありがとうございます。

  • 嬉しいご報告をありがとうございます。

    あともう一方の他社製品ですが

    • デザインが比較的近年の 32bit プロセッサ
    • 浮動小数点演算機能搭載
    • クロック 百数十MHz

    RX65N と比べてスペック的には似たようなものだと思うので、それほどの大きな差が出ることは考えづらくおそらくは何かパフォーマンスが出ていない原因があるのではないかと思っています。機会があればその辺りを検証するのも興味深い気がしますね。