OpenGLはスレッドセーフではない!
関連記事
- 日に日に3D描画エンジンが強化されていっている件 【2011年04月26日(火)】
- C#をUIに,OpenGL@アンマネージコードにて実装する方法をアップしました 【2011年03月07日(月)】
- OpenGLは難しい(謎 【2011年03月04日(金)】
っぽい...(涙
ポリゴンのレンダラが微妙にパワー不足やから(ポリゴンの座標計算がちと大変なのじゃ)
CPUコア,総動員して座標計算させようかと思ったけど
見事にずっこけた件
調べたら
OpenGLはスレッドセーフじゃないべな,な,記述があちこちに...
う~む,こりゃ,マルチスレッド化は撤退だな
各座標点を,再計算させるオーバーヘッドがすごいんで
これを,メモリ上に保持させようかと思ったけど
ポリゴンキューブが
40万個ほど必要
キューブ(サイコロね)だから,8座標点*これのXYZ*floatでもたせてるから,1キューブ96バイト
40万点で300メガバイトほど 😯
むむむっ
とりあえず,ほっとくかなぁ...
素朴な疑問。floatじゃなくて整数じゃだめなの?
>>康ちゃん@お仕事ちぅ さま
OpenGLの座標系は,全て浮動小数っす
Double推奨っぽいけど,容量勿体無いし,精度はそこまでいらないので,floatにて実装
でも,intもfloatもsizeof()は4バイトじゃじ
容量は同じなんだけど、演算速度は格段に差があるからどうなのかなぁって思った次第。
仕様なんですねぇ。
今時のCPUコアって、個々に実数演算回路ももってるんですかねぇ?
(4コアなら、コア毎に4つとか)
昔は実数演算回路はCPUと別体のLSIだった気がしますが。
>>康ちゃん@お仕事ちぅ さま
コアごとに
浮動小数演算器も実装されておりまする
さらには,SSE命令なんてものが用意されておりまして
floatのほうが,性能良かったりするそうな