【激論】最適化厨vs高スペックヲタ
■ このスレッドは過去ログ倉庫に格納されています
「古いマシンで快適動作させる事こそが、
プログラミングの醍醐味ってもんよ」
「効率の良いアルゴリズムの完成こそがプログラマの腕の見せ所だ。」
「同じ最適化でも、最新のアーキテクチャのハードの能力を
引き出す方がよっぽどカッコイイです。」
「いまどきシューティングPentium133MHz推奨とか書かれても
誰がそんなのでわざわざプレイするかって気もするしな。」
延々続く平行線、ルール無用のトークバトル、
煽りに罵倒に嘘八百、これぞ2ちゃんの本筋だ。
ひまぢんども集まれ! o
/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
/ このスレは無事に /
/ 終了いたしました /
/ ありがとうございました /
/ /
/ モララーより /
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
∧_∧ / /∧_∧
( ・∀・) / /(・∀・ )
( )つ ⊂( )
| | | | | |
(__)_) (_(__) 最適化ってのはプログラマの本能みたいなモノだからねぇ・・・ 両方、大切なの!
片方を切り捨てることは不可能なの! 俺は速度の最適化よりも構造の最適化の方を第一優先にしてる
つーのはダメですか?
半OO厨みたいなもんか。 >7
確かに。
古いゲームのクローンを試しに作ったら、えらく重かった。 漏れの場合は3DCG使ってないから、
あんまし高スペック要求したくないんよ。
ギリギリのスペックだと、動作が安定しないんで。
その意味では、ゲーム中にフリーズしたり、
OSに蹴られたりするよりは、
きっちりと最適化した方が良いかと思われ。
ってのは方便で、実のところは自己満足だったりする(w
16msかかる作業が2ms未満で終わった日にゃ・・・
まあ、11msを10msにするような最適化は、あんまやらんケド。 高スペック環境でゲーム作っても自分の部屋でしか動かせない罠。 >>11
コンシューマ系の俺がD3Dで組んでみたら、まさにそうなったよ。
で、とりあえず、動くようにしたら
SoftwereVertexで0.1FPS前後
PureHALで200FPS前後
でした。
>>10
俺は逆の意味での自己満足。
最新の3Dアーキテクチャで秒間500マンポリゴン以上出る
エンジン組めたとか。
動作環境とかどうでもいい。 エレガントに記述できるが遅くなる用法は導入するのに迷う。
躊躇が出る。別に最適化派じゃないんだけどね。 アルゴリズムを見直すと、場合によっては
信じられないぐらいに処理が速くなるね。
昔話だが、30分ぐらいの処理が、
0.1秒ぐらいに縮まった時は嬉しかったな。 それこそ信じられない。
たとえばsum(1..n)をn*(n+1)/2にしたとかそういうのでなければ
そこまで差が出ることは無いと断言しても良いが。
勿論、故意に無駄な探索を行った場合を除いて。 >>20
そのまさかだったりする(w
八方向移動で、障害物を避けながら
目的地までの最短移動経路を調べる処理。
ちなみに、斜め移動と縦横移動では、
移動速度を変えてあった。 前者はソフトヲタ、後者はハードヲタなので比べる必要なし。
しかし、どちらもそこそこできるようになっていないと実務では使えないヤシだと思う。 >>22
ハードヲタっていうか、単なるPCヲタな気が。 前者は後者を兼ねることが多いが、
後者は前者の芸当は出来ないことが多い。 >>24
(少なくとも日本において)それはない。
日本中でいったいいくつのMMXαブレンドルーチンが再発名されてきたか。
結局前者は時代遅れの落ちこぼれ組が自己のアイデンティティを保つためにやってるだけ。
後者は一定以上古いハードに対応するのは不毛だと割り切って考えているだけ。 >>25
あー、車輪の再発明と分かっててもやったほうがいいことはたくさんあるぞ。
MMXαブレンドがそうかは知らんが。 まあ、双方に言える事だが、
bsearchとqsortぐらいは、
使えた方が良いぞ。 推薦スペック
CPU:DEC Alpha21264 1024MHz * 64SMP
Memory: PB-SRAM 64GB
VGA:3DLab WildCat2 誰がそんなスペックで運用してんだよ!
…と釣られてみる あー、私はリファクタリング厨かもしれない。
ライブラリばっかいぢくっててなかなか本体が進行しない・・。 下限スペックって、どのあたりかな?
いまだにえろげとネットしかしないから、数年前のCeleron300Aを
450にクロックアップさせて使ってる知り合いが何人かいるからその辺かな?
…さすがに266は勘弁。 >>25
PS2Linux厨とか?
しょぼい板ポリゴン数枚出して喜んでそう。 >PS2Linux厨とか?
>しょぼい板ポリゴン数枚出して喜んでそう。
おいおい、どこの誰だか知らんが、いくら2chでもそーいう言い方ないだろ。 >>12
>SoftwereVertexで0.1FPS前後
>PureHALで200FPS前後
ちょい待ち。確認するが、その表現は
頂点処理におけるハードウェア支援の有無のみで1000倍近いパフォーマンス差を
生じさせることが出来た、と解釈されるのが自然なわけだが・・・・この解釈で良いのか。
仮に良いとするなら、その比較にはいささか不自然な点があるのではと推測する。
1000倍の差が生じた、というのは・・・・
(1) ラスタライズ段におけるハードウェア支援の有無も入った上での
差ではないのか。つまり前者はReference Rasterizerを使ってるのではないか。
あるいは
(2)特殊な条件下での比較を行なっているのではないか。
つまりPureHAL使用時に頂点キャッシュによる利得を
最大限に得られるよう調整された特殊なシーンを用いた比較ではないか。
おおまかに分けて以上2つのような疑問が沸いてくるのだが、実際のとこは
どうだったのだろうか? 板的な回答「ゲームが動いて、面白ければよい」
ゲーム作ってるのに本末転倒な奴多すぎ。
最適化はゲームが動いて、速度的な不満が出たらやればいい。
ゲームが出来てないのに最適化と騒ぐ厨房は本職にも多い罠。
スレタイのVSに意味は無い。双方回線切って首吊れ。
この回答が不満なら板違いと言うことに気づけ。 では、説教親父も去ったと言うことで再会致しましょう。 ちょっと色付けちゃったんじゃないの。
ちょっとコードいじっただけで2000倍は無理。 ゲームが面白ければいいと言ってるのは、ゲームに視点が向いてる人。面白いゲーム作れれば技術なんて興味ない。
最適化が大好きって言うのは技術に視点が向いてる人。技術で遊べれば別にゲームじゃなくてもいい。
それぞれ役割が違うんだから、議論したってしょうがない。
それから、どっちつかずの立場にたつよりは、自分がどちらの立場なのかをしっかり把握して邁進したほうがいいぞ。 最近のノートPCの3D性能、ちったあマシになったんでしょーか?
誰か実情教えて。 技術に興味が薄い企画やCGデザイナーは、
現状のPS2の並レベルで満足してます。
プログラマとして歯がゆいが、
「面白ければいい」で却下されちまう。 >>41にほぼ同意だが、
技術で遊べればゲームじゃなくてもいい人ってのは大多数がそうだが、
ゲームが作れれば技術なんて興味ない人ってのはごく少数のオッサン。
技術に興味を持ち磨いていかないとゲームは作っていけない。
だから、2D時代の栄光にすがるオッサンはドロップアウトして淘汰される。
要は、バランスよく配分できる人でないとゲーム製作に向いてないってこった。
最適化厨も高スペックヲタも回線切って首吊れってこった。 ドット絵のゲームが好きなんじゃぁぁぁぁぁぁぁぁぁぁぁぁっ! 俺も>>35と同じ疑問を抱いていた。Vertex Bufferをローカルメモリに
置いただけで0.1FPSから一気に200FPSに跳ね上がるというのは常軌を
逸している。アンフェアな比較を行なっているんじゃないかと思う。
>>12がプロを自称してるようなので、そんなことはないと信じたいが。 >Vertex Bufferをローカルメモリに置いただけで
まぁ>>12が行なったのはそれだけじゃなくて、例えば
CPU&GPUによる並列処理の効率を極限まで高めてるとは思う。
ただ、それでも2000倍のパフォーマンス向上は不可能というのは
バカでも分かるわけで・・・。
0.1FPSのほうの測定結果がStrip&Fan化を行なってないと仮定しても
好条件化でもそこまで差は開かない。
正直、>>12は嘘を付いてる? あ、好条件化じゃなくて好条件下ね。スマソ。
多分、リファレンスラスタライザを使ってたんじゃないの。 >リファレンスラスタライザを使ってた
もしそうだとしたら、>>12の言ってる
コレ↓
>SoftwereVertexで0.1FPS前後
>PureHALで200FPS前後
ってほとんど詐欺だよな・・・。 Vertex Shaderがエミュかどうかで差が開いたということなのか。
でもよ、普通にセルシェーダとか使ってる分にはソフトエミュで
やってもそれほど重くならないんだよな。
無理にクソ重たいシェーダを組んでも、ステップ数の制限
とかのせいで、差が開くったって限度あるし。 PixelShaderならともかく、VertexShaderのエミュレートは
それほどパフォーマンスを悪化させないはずだが。 >>55
>VertexShaderのエミュレートは
>それほどパフォーマンスを悪化させないはずだが。
え、>>54はそう言ってるんじゃないの? >頂点処理におけるハードウェア支援の有無のみで1000倍近いパフォーマンス差を
>生じさせることが出来た、と解釈されるのが自然なわけだが・・・・この解釈で良いのか。
紛らわしかったようです。スマン。
いいえ。REFドライバになります。
>>12でサクッと組んだもの(てか現在も)PureHALにしか対応してません。
PCのプロではないので。
(>>12でも、とりあえず、動かせるようにした。と書いたとおり。
最初、VertexShader未対応のボードでは起動すらしなかった。) なんでリファレンスラスタライザなんだ?
HAL without H/W VertexProcessingもフラグだけで簡単に設定できるじゃん >>12
IDirect3D8::CreateDevice() にて
BehaviorFlags に 「D3DCREATE_SOFTWARE_VERTEXPROCESSING」を指定すれば
頂点処理は強制的にCPUで行なわせることができる。
http://www.microsoft.com/japan/developer/library/jpdx8_c/_dx_idirect3d8_createdevice_graphics.htm
ソフトウェア頂点処理の場合
IDirect3DDevice8::CreateVertexShader() にて
Usage に 「D3DUSAGE_SOFTWAREPROCESSING 」 を指定すれば
Vertex Shaderはエミュレーションで行なわせることができる。(※明示的に指定する必要アリ)
http://www.microsoft.com/japan/developer/library/jpdx8_c/_dx_idirect3ddevice8_createvertexshader_graphics.htm
以上の2つの点に気を付ければ、 Hardware Vertex Shafer 未対応のカードでも
Vertex Shaderプログラムはちゃんと動くアル。 スマソ。訂正。
Hardware Vertex Shafer 未対応のカードだと
「D3DUSAGE_SOFTWAREPROCESSING 」 を指定しないと
エラーが返ってくるはず。 >Vertex Shaderプログラムはちゃんと動くアル
言いたいことは解るんですが、コンシューマ業界でいう「ちゃんと動く」というのは
パフォーマンス保障も含まれているので(以下略) >>62
ん?>>12さんですか?
論点がずれているようなので、もし>>12さんなら再度確認のために
>>35での私の書きこみの趣旨を説明しますですよ。 >パフォーマンス保障も含まれているので
だから、HVP EMUでも、んなにパフォーマンスがかわらんと言うことを言ってるだけだろ
単にステンシルシャドウを使っているだけのプログラムでも
リファレンスとHALでは100倍以上パフォーマンスが違ってくるしな。 >>62
おまえさん、何を言っているのか全く意味不明だぜ。
それはDQN丸出しの非論理で因縁を付けてるだけなんだよ。
ついでに「コンシューマ業界云々」のくだりは赤面モノなので
やめてほしいなり。(※まさか騙りではないよな?)
今までの話の流れを把握できていれば分かると思うが
1.APIの使い方に初歩的なミスがある。
2.>>12で出したベンチ結果(2000倍)自体に意味がない。
比較対象にリファレンスラスタライザを使うこと自体がナンセンス。
描画工程も含めて完全にソフトウェアエミュレーションで行なっているものを比較対象に選んでいては
何の比較になるのか不明。少なくともアプリ側での頂点処理の最適化結果を示す値にはなりえない。
以上、2つの点を>>12は指摘されていたんだよ。
で、結局どうすればいいのかといったら話は簡単で、>>12がソースコードの2,3個所を修正すれば
簡単に解決する話なんだよ。つまり
ハードウェア頂点シェーダを搭載している環境では「HALデバイス + ハードウェア頂点処理」
ハードウェア頂点シェーダを搭載してない環境では「HALデバイス + ソフトウェア頂点処理」
を使えばいい。この二者ならば、仮にベンチを取ってもそれなりに有意義なものになるはずだしな。
ピクセルシェーダでも使ってない限りREFデバイスによるソフトエミュなんて出る幕はないんだよ。 >技術で遊べればゲームじゃなくてもいい人ってのは大多数がそうだが、
>ゲームが作れれば技術なんて興味ない人ってのはごく少数のオッサン。
>技術に興味を持ち磨いていかないとゲームは作っていけない。
この技術ヲタ若造野郎が。
だったら、技術に興味を持ち、磨いて磨きまくった結果、
市場的価値がリッチになったソフトを具体的に挙げてみろよ。
全くないとは言わないが、それこそごく少数だろ?
大体だな、「技術」でゲームを作っていくというその発想が
プログラマにありがちな「奢り」だということに早く気が付け。
おまえみたいな3D野郎に限って、まともな麻雀ゲームを作れなかったりする。 技術は「使うぞ」と思って使うものじゃないと思う。
それをやっちゃうと、技術だけが突っ走ったプログラマオナニーゲーになりやすい。
技術は、他から必要とされるまで自分の中にためておくものだと思う。 >>67
麻雀思考アルゴリズムって、技術的に面白いですか? >>68
フリーやDEMOならプログラマオナニーゲーもありだろ。
それぞれ、自分が楽しいから作るんだし。 >>67
だから、そもそもゲームに興味無いんだよ。
技術を派手に見せることが出来るからゲームっていう手段を選んだだけなんだし。 >67
おいおい、まずはお前の言う「まともな麻雀ゲーム」ってのを挙げてみろよ。
まさか、PCエンジン版麻雀学園(修正前)じゃないだろうな?(藁 時代について来れないオヤジが集まって、傷をなめあうスレはここですか?
漏れもオッサンだがよ、
>>67は曲解して、痛いところつかれてキレてるようにしか見えん。
>>45ってごく普通のことを書いてあるだけジャン。
いらん文多すぎるけど、最後から2行目が真実だろ。
67イタ過ぎるよ。自分の文を逆の意味にして読んでみろよ。
あ、ただの煽りなのか?漏れが釣られたのか?
>>68がいいこといってんじゃん。
ていうか、技術って抽象的な表現使うから荒れるんだよ。
このスレの技術の定義を決めろ、話はそれからだ。 とりあえず書いておくが、定義だけで1スレ消費するなよ >67
逆ギレおやじか、見苦しい。
>大体だな、「技術」でゲームを作っていくというその発想が
>プログラマにありがちな「奢り」だということに早く気が付け。
>おまえみたいな3D野郎に限って、まともな麻雀ゲームを作れなかったりする。
・・・ハァ?矛盾している文だな。技術なければ何も作れませんが?
基礎学力すら無く古株ってだけでえらそうにしてる様な人だな。
ex1.「俺は昔○○を作ったんだ!おまえには作れないね!」
ex2.「学力じゃない!気合で作るんだ!」
ex3.「根性が足りない!俺がお前ぐらいの時は・・・」 だから、「技術」といったときに何を想定してるのかが全然違うから
話がかみ合うわけないんだって
こんなスレ早く沈めて >>67は曲解して、痛いところつかれてキレてるようにしか見えん。
あん?それはおまえが痛みを感じてることの裏返しか?
>>技術を派手に見せることが出来るからゲームっていう
>>手段を選んだだけなんだし。
そういう不純な理由でこの業界に来んじゃねーよ。
特にその手のプログラマは多い罠。ウザい通り越して害だからヨソ逝け。
>>麻雀思考アルゴリズムって、技術的に面白いですか?
知るかよボケ。大体、俺はプログラマでないんでね。
けど、3Dポリゴンはぐるぐる回せる癖に、麻雀の仕事をやらせたら
牌の3D表示から実装はじめて、肝心のゲームは一向に進まず
そいつのせいでオジャンになった苦い思いがある罠。 >・・・ハァ?矛盾している文だな。技術なければ何も作れませんが?
おまえ、多分プログラマーなんだろうけど、論理性ねーな。
どの職でも「技術」なんてあって当たり前の「必要条件」に過ぎねーんだ。
だから「技術」で作っていこうとすると足りねーとこが出てくる。
>>「学力じゃない、気合で作るんだ!」
アニメ業界じゃ良く聞かされたねぇ
>>「俺は昔○○を作ったんだ!おまえには作れないね!」
その○○とやらに匹敵するモノ出してねーから、そのオヤジに
付け込まれるスキがおめーにあったわけだろ? デムパ全開ぷりに激しくワラタ
楽しい夢がみれそうです。オヤシミ >>60
さらにスマン。
指摘された処理は一応入れています。
で、
ソフトウェアなんたら、、てのは、大嘘です。w
異様に思いのは、REFの時で、SoftVPの場合、
FPSは半分ぐらい、でした。
(多分)ハードウェアT&Lに対応してれば、そこそこ普通に動きます。
まあ、>>12で言いたかったのは、初めからREFにならない設計、
そもそもCPUで全部やる、場合によってエミュレーションしたりとか、
そういうのを(仕事じゃないかぎりは)組む気はない。と言いたかっただけです。
CSでも、ハードにない機能で、パフォーマンスに凄く関わる部分は普通、
仕様段階で切ると思うし、、。
お騒がせしましたー。 >>12
いや、あんたはここを舐めてたね。
ここは根暗粘着くんの巣窟だよ。(ワラ そんな事よりみんな、しつこくて申し訳ないが、
本当に申し訳ないが、ちょいと聞いてくれよ。
スレと関係あるからさ。
去年のクリスマスに、実家のある札幌に帰ったんです。誕生日割引で。
そしたらなんか人がめちゃくちゃいっぱいで移動しずらいんです。あちこちコケまくりですよ。
で買い物で大通り寄ったらなんか観光客が群がってて、ホワイトイルミネーション綺麗!!、とか言ってるんです。
もうね、アホかと。馬鹿かと。
お前らな、ホワイトイルミネーションー如きで普段来てない札幌に来てんじゃねーよ、ボケが。
たかが電球だよ、電球。
なんかカップルとかもいるし。2人でイルミネーション見物か。おめでてーな。
よーし俺雪だるま作っちゃうぞー、とか言ってるの。もう見てらんない。
お前らな、アレ見ると別れるんだぞと。
北海道ってのはな、もっと殺伐としてるべきなんだよ。
−10〜20℃の吹雪の中、いつ遭難してもおかしくない、
凍死するかしないか、無事に家までたどり着けるのか?そんな雰囲気がいいんじゃねーか。内地人は、すっこんでろ。
で、やっと駅についたかと思ったら、隣の奴が、北海道ラーメンって美味いね!、とか言ってるんです。
そこでまたぶち切れですよ。
あのな、「北海道」ラーメンなんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、「北海道」ラーメンだ。
お前は本当にラーメン食いたいのかと問いたい。問い詰めたい。小1時間問い詰めたい。
お前、札幌ラーメンと旭川ラーメンの違いもわからんくせに、ラーメンって言いたいだけちゃうんかと。
元札幌市民の俺から言わせてもらえば今、札幌市民の間での最新流行はやっぱり、
白樺山荘、これだね。これが通の旅行。
白樺山荘ってのは南平岸の駅前、札幌フードセンターの裏にあるラーメン屋。これ。
で、ついでに痛快OL通りで×××する。これ最強。
しかし、白樺山荘は中心部から遠い上、
痛快OL通りは客引きに別の店に連れて行かれるかもしれないという諸刃の剣。
高い地下鉄とススキノになれていないやつにはお薦め出来ない。
まあお前らは、時計台ラーメンでも食ってなさいってこった。 今のハイエンドの環境に合わせて、さらに最適化して作れば、
リリースするころにはロースペックでがんばって動くゲームになってるよ。
APIすら変わっててどうしようもなくなってるかもしれんが。 先生!おかげさまで2chでスレたてれました
 ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ ____________
__( *´∀`)__ Λ◎Λ /
| __ ( つ_つ__| (・∀・ )< よくがんばったね。後で見てみるよ
|\⌒⌒\| |\ (\ / ) \____________
| \ ======= \|__Ω____|
\ |⌒⌒⌒⌒⌒⌒⌒|_(___)
\..|_______| >>1の主治医です(以下略)
__ _____________
∨ カタカタ
ピーー ____ ___
∧◎∧ ||\ .\ |◎ |
( ・∀・) || | ̄ ̄| |:[].|
┌(つヽ /つ/ ̄l| / ̄ ̄/ | =|
|└ ヽ Ω |二二二」二二二二二二二二」
 ̄]|| | | | | || | ||
/ ̄|(_)_)/ .|| / ||
◎ ◎ [___|| .[___|| アセンブラ厨がカリカリに最適化しますた!というルーチンより、
gccの最適化オプションの方が速い罠。
プロセッサのアーキテクチャや、プログラム内容を理解せずに、
アセンブラにすれば速いんだと勘違いしてる
過去の栄光に引かれた人達が集まるスレがココです。 クソジジイはGDIだけ使って一生プログラム組んでろ! 先生!おかげさまでおならがでました
 ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ ____________
__( *´∀`)__ Λ◎Λ /
| __ ( つ_つ__| (・∀・ )< よくがんばったね。後で見てみるよ
|\⌒⌒\| |\ (\ / ) \____________
| \ ======= \|__Ω____|
\ |⌒⌒⌒⌒⌒⌒⌒|_(___)
\..|_______| >>96の主治医です(以下略)
__ _____________
∨ カタカタ
ピーー ____ ___
∧◎∧ ||\ .\ |◎ |
( ・∀・) || | ̄ ̄| |:[].|
┌(つヽ /つ/ ̄l| / ̄ ̄/ | =|
|└ ヽ Ω |二二二」二二二二二二二二」
 ̄]|| | | | | || | ||
/ ̄|(_)_)/ .|| / ||
◎ ◎ [___|| .[___|| >>94
>アセンブラ厨
そういう奴もいるな。ところで、そのセリフよく見るな・・・。
環境に恵まれず視野偏狭なのか、それとも受け売りなのか。
下ばかり見てると疲れるんかないか? ■ このスレッドは過去ログ倉庫に格納されています