ローポリで頑張ってる人へ
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
3件表示
(全3件)
すべてのコメント一覧へ
投稿ツリー
-
ローポリで頑張ってる人へ
(完全無欠猫, 2013/2/21 14:40)
-
Re: ローポリで頑張ってる人へ
(yamyam, 2013/2/21 23:23)
-
Re: ローポリで頑張ってる人へ
(完全無欠猫, 2013/2/22 13:05)
ローポリで頑張ってる人へ
msg# 1
完全無欠猫
居住地: 兵庫
投稿数: 750
Blender Ver2.66が出ましたが2.66に適用されているr54694がひょっとしたら曲者かもしれません。
r54694はローポリのものにはOpenMPスレッドを使用しない様にする修正です。
現在の仕様は次のようなものです。
if (dm->numVertData + dm->numEdgeData + dm->numPolyData >= DM_OMP_LIMIT)
この条件の時にOpenMPの仕様で処理するかどうかの判定をします。
ちなみにDM_OMP_LIMITは10000に設定されています。
要するにVertex、Edge、Faceを合わせて10000に満たないローポリMeshはOpenMPの機能を持ったPCでも処理されなくなるということです。
修正コメントは次のようになっています。
increase openmp limit for release so low poly meshes don't use openmp threads (which can be slow)
いろいろな目的のためにBlenderを使用されている方がいると思いますが
個人的には受け入れにくい条件なので設定値を変えています。
残念ながらハードコードなので自前でビルド可能な方しか変更できません。
管理人さんへ:
批判的な内容ですので不適切であれば削除して頂いて構いません。
また内容が私の読み取り間違いであれば削除してください。
私のように古いPCでなんとか作業している者にとっては微妙に厳しい制限設定なので困惑しております。
r54694はローポリのものにはOpenMPスレッドを使用しない様にする修正です。
現在の仕様は次のようなものです。
if (dm->numVertData + dm->numEdgeData + dm->numPolyData >= DM_OMP_LIMIT)
この条件の時にOpenMPの仕様で処理するかどうかの判定をします。
ちなみにDM_OMP_LIMITは10000に設定されています。
要するにVertex、Edge、Faceを合わせて10000に満たないローポリMeshはOpenMPの機能を持ったPCでも処理されなくなるということです。
修正コメントは次のようになっています。
increase openmp limit for release so low poly meshes don't use openmp threads (which can be slow)
いろいろな目的のためにBlenderを使用されている方がいると思いますが
個人的には受け入れにくい条件なので設定値を変えています。
残念ながらハードコードなので自前でビルド可能な方しか変更できません。
管理人さんへ:
批判的な内容ですので不適切であれば削除して頂いて構いません。
また内容が私の読み取り間違いであれば削除してください。
私のように古いPCでなんとか作業している者にとっては微妙に厳しい制限設定なので困惑しております。
投票数:7
平均点:7.14
Re: ローポリで頑張ってる人へ
msg# 1.1
yamyam
居住地: そうや、うちはおおさかやー
投稿数: 4405
少し補足させていただきます。
これはあるメッシュオブジェクト単体の、モディファイアーによって変形・追加された後の頂点数+辺数+面数が10000以下であれば OpenMP によるマルチスレッディング処理を行わないだけで、通常のシングルスレッドによる処理は行われます。
また、上記3つを加算した数ですので、情報ヘッダの情報を見る限り、実際には2000頂点ぐらいがしきい値と考えられます(ただし形状によって上下します)。これぐらいならシングルスレッド処理をした方が OpenMP 処理に比べて早いと判断されたのだと思います。環境にもよるかもしれませんし、私自身は実測していませんので、実際にどうなるかはわかりません。
完全無欠猫さんはお分かりだとは思いますが、他の方もみてらっしゃるので念のため。
これはあるメッシュオブジェクト単体の、モディファイアーによって変形・追加された後の頂点数+辺数+面数が10000以下であれば OpenMP によるマルチスレッディング処理を行わないだけで、通常のシングルスレッドによる処理は行われます。
また、上記3つを加算した数ですので、情報ヘッダの情報を見る限り、実際には2000頂点ぐらいがしきい値と考えられます(ただし形状によって上下します)。これぐらいならシングルスレッド処理をした方が OpenMP 処理に比べて早いと判断されたのだと思います。環境にもよるかもしれませんし、私自身は実測していませんので、実際にどうなるかはわかりません。
完全無欠猫さんはお分かりだとは思いますが、他の方もみてらっしゃるので念のため。
投票数:8
平均点:6.25
Re: ローポリで頑張ってる人へ
msg# 1.1.1
完全無欠猫
居住地: 兵庫
投稿数: 750
私の認識は少し違います。
その書き方だと全てのModifierを通過した後の総数で判断されるように見えますが実際には複数のModifierが設定されている場合は、Modifierの処理毎に判断されるので
途中まではシングル処理、途中からマルチ処理になるということがあり得ます。
BMeshのユーティリティーでも参照されているようなのですが、全てを追いかけたわけではないのでどの程度の影響範囲があるのかはわかりません。
最終的にどの程度処理性能が落ちるのか、上がるのかは個々のマシン環境および使用環境に依存するので何とも言えません。
しかし、これは認識しておいた方がいいと思いましたので投稿しました。
OPENMP環境だから全てにおいてOPENMPで処理されているとは思ってはいけません。
現在のBlenderには開発者による閾値が存在します。
これは蛇足ですが。
以前にDevelopperのメーリングリストである質問が出ていました。
Blenderが前提としているマシン環境はなんだ?という意味のものでした。
その回答を見て私は痛感しました。
私の今の環境は水準以下なのだと。
最新のPCゲームの推奨環境がそれに相当するのではないのかという印象でした。
(私の環境では最新PCゲームは既に動きません。最低環境にも到達していないという・・・)
その書き方だと全てのModifierを通過した後の総数で判断されるように見えますが実際には複数のModifierが設定されている場合は、Modifierの処理毎に判断されるので
途中まではシングル処理、途中からマルチ処理になるということがあり得ます。
BMeshのユーティリティーでも参照されているようなのですが、全てを追いかけたわけではないのでどの程度の影響範囲があるのかはわかりません。
最終的にどの程度処理性能が落ちるのか、上がるのかは個々のマシン環境および使用環境に依存するので何とも言えません。
しかし、これは認識しておいた方がいいと思いましたので投稿しました。
OPENMP環境だから全てにおいてOPENMPで処理されているとは思ってはいけません。
現在のBlenderには開発者による閾値が存在します。
これは蛇足ですが。
以前にDevelopperのメーリングリストである質問が出ていました。
Blenderが前提としているマシン環境はなんだ?という意味のものでした。
その回答を見て私は痛感しました。
私の今の環境は水準以下なのだと。
最新のPCゲームの推奨環境がそれに相当するのではないのかという印象でした。
(私の環境では最新PCゲームは既に動きません。最低環境にも到達していないという・・・)
投票数:4
平均点:5.00
3件表示
(全0件)
すべてのコメント一覧へ
ログイン
クイックリンク
2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki