検証スレッドログ倉庫
検証スレッド12
- 170 名前: 名も無き軍師 投稿日:2005/11/19(土) 20:18:54 ID:zndnadCM
- フロー化の意味はない。
しかしこのスレで検証したい奴を叩く意味もない。
とりあえず御託より検証結果が先だな。
目に見える数値として結果が出るのかどうかの興味はある。
- 171 名前: 161 投稿日:2005/11/20(日) 01:35:13 ID:k19NW/4V
- フロー化の意味が無いとまで言ってない。
蹴撃と通常攻撃まで一本にする意味はないと書いただけ。
右手→(二刀流・格闘なら左手)→(アビがあるなら蹴撃)
というフローは並べて書いても複雑になるだけ。
通常攻撃で1本のフローと、蹴撃で1本で十分じゃね。
右手リディル・左手クラクラとかあるだろうしね。
判定順序という些細な問題以前に、
DA/TA/各武器のMAの攻撃回数発生率のデータすら
きっちりとられたものを知らないな。
- 172 名前: 名も無き軍師 投稿日:2005/11/20(日) 03:15:28 ID:B3KH12zg
- 興味のある話題なので、手持ちデータを上げておきます。
ナ/白 ジュワユース 892/2052 43.512%
- 173 名前: 172 投稿日:2005/11/20(日) 03:38:04 ID:B3KH12zg
- データは2005/10/11以降に取ったものです。
- 174 名前: 名も無き軍師 投稿日:2005/11/21(月) 06:06:10 ID:pMWme2B0
- >>122
クライアント上では、詠唱とリキャスト係数は1秒=4で扱われている。
つまり60秒は240ね。
サーバー上では不明だが、これよりも高い倍数値であつかわれている
可能性もあるのでその辺での考え直しも必要かも。
>>126
FF上に100分立は存在しない。
その理由はCPUというものは加減算にくらべ乗除算(とくに除算)に恐ろしく
処理時間を要するため、クライアントソフトならいざ知らず多数のPC,NPCの
行動を常時処理するサーバーソフトで浮動小数の除算を行うのは自殺行為で
あるから。
ただし、CPUは2進法で演算を行っているため2や256や1024のような2の
乗数値での除算はバイトシフト・ビットシフトという命令で一瞬で実行
できる。c言語的表現で言うと、x/256は x>>8で代用出来る。
x/10は x=(x*26)>>8
xの+25%は x=x+((x*64)>>8)
xの+25%+10%は x=x+((x*(64+26))>>8)
しかし、乗算も出来るだけ乗数を小さくした方が良いため、
ディフェンダーなどのような%が固定値の一発計算の場合は
+25%= x*5>>2
-25%= x*3>>2
として処理している可能性も高いと考えられる。
こういった仕様から「小数切り捨て」なのではなく初めから整数値
しか存在しない。
なお、TPは0.0〜300.0とされるが内部的には0〜3000の整数の下一桁
を隠して扱われている。
ps.
"そんな物は百も承知だがそれでも1/100の存在を否定しきれない"というので
あれば駄文長文大変失礼にて候。
- 175 名前: 名も無き軍師 投稿日:2005/11/21(月) 10:18:21 ID:l5CrCo4m
- >>174
大昔はそうだったかもしれないけど、XeonとかPentium4とかここ10年ほどのCPUって浮動小数点演算速いよ。
そんな何回も整数演算するより1回浮動小数点演算した方が速いじゃない?
ffxiのサーバソフトがどう組んでるかは知らんけど。
- 176 名前: 名も無き軍師 投稿日:2005/11/21(月) 12:41:37 ID:pMWme2B0
- >>175
同じCPU上において"整数乗算→ビットシフト"が浮動小数除算より遅い
ってことはないだろう(母数にもよるが平均的に見て大部分は)。
それに1エリア1サーバーだとしたらP4やXeonクラスのような
消費電力&発熱の高いものを使ってるとは思えないし、複数エリアor
1リージョン1サーバーをP4クラスで賄っているとした場合も、
可能な限り負荷を下げるのは当然ではないかと思う(実際のところ重いし)。
- 177 名前: 名も無き軍師 投稿日:2005/11/21(月) 12:53:47 ID:LolKGYtu
- >>175
そんなこともない。
今のP4は整数演算をクロックの倍で処理する演算機が載ってる。
1,000回程度のかけ算なら、マイクロコードデコーダがループ展開して加算1,000回にしちまうぞ。
- 178 名前: 名も無き軍師 投稿日:2005/11/21(月) 13:00:10 ID:LolKGYtu
- >>177
×1,000回程度の
○1,000倍程度の
- 179 名前: 名も無き軍師 投稿日:2005/11/21(月) 13:33:03 ID:bRljGmlk
- おぃおぃ、いままで数々のわけわからんバグを出してきた■だぞ…。
最適化以前の問題だろ。
- 180 名前: 名も無き軍師 投稿日:2005/11/21(月) 14:03:14 ID:LLRycQWX
- インスニ上書き関係のドタバタ覚えてる者としては
バージョン管理すらちゃんとしてるかも怪しい
- 181 名前: 名も無き軍師 投稿日:2005/11/22(火) 01:00:11 ID:78LHwObr
- CPUを語るスレはここですか?
- 182 名前: 名も無き軍師 投稿日:2005/11/22(火) 02:19:18 ID:HHX4URCj
- スカリーZ80
- 183 名前: 名も無き軍師 投稿日:2005/11/22(火) 02:53:28 ID:Bf5OY7Os
- エリア鯖のCPUは判明してるよ。最初がPIIIで今P4じゃないかな
TransmetaとかPentiumMとかは使ってなかったと思う。
プレーヤーが重いと感じる要因はクライアント(HDDやGPU)か
通信っしょ。鯖CPUがネックって事態は考えにくい
- 184 名前: 名も無き軍師 投稿日:2005/11/22(火) 08:33:07 ID:TE6/7EAa
- Z80ならハンドアセンブルできるなw
- 185 名前: 名も無き軍師 投稿日:2005/11/22(火) 10:13:14 ID:rqT2UAhz
- >>174
どうあるべきかと実際どうなっているかは別の話だぞ
- 186 名前: 名も無き軍師 投稿日:2005/11/22(火) 11:35:33 ID:xjIY8QbS
- >>177
FF11で使われる有効的な整数値 0〜3000の10%を整数型の返値で求める場合は、
>>174の x*28>>8のようにMUL+SARの方がDIVを使うよりも何倍も早いよ。
除算も同様に単純な減算ループに展開されがちなんだけれど減算ループの方が重いのよ。
>>175
ゲームのステータスってのは整数値で扱ってるから、浮動挟んじゃうと
int=>float=>演算=>intって処理になってもっさり重くなるよ。
>>182
Mammett-Z80
>>185
他に256分なんてする理由はなさそうじゃない。
- 187 名前: 名も無き軍師 投稿日:2005/11/22(火) 11:59:16 ID:SiAJkkf3
- FFで重いのってアイテム絡みの通信が間に合っていないからだと思うんだが。
初期は1Gbitの1本だけで一台のサーバーに繋がっていたし。
今でも競売や宅配の重さから想定するにアイテムDBのSQLが混んでいるからだろうし。
1ワールドで1台だったらもっとマシな気がする。
Pentium4はビットシフトよりも複数回加算したほうが速い場合もあるな。
今のCPUは人間がチューニングする領域じゃないけれど
それよりコンパイラてIntelなのかな?
- 188 名前: 名も無き軍師 投稿日:2005/11/22(火) 12:10:02 ID:DhNaBMLQ
- 高速化でそうしている可能性はあるが、単にプログラマの趣味でしょう。
規約でそうするなら、22.10の固定小数とかでも十分だし。実際バラバラ。
処理が重いから存在しない、って論法は無理がありすぎる。
悪魔の証明というか。このケースではこういう最適化をしているようだ、
以上はムリ。
- 189 名前: 名も無き軍師 投稿日:2005/11/22(火) 14:00:42 ID:xsxey312
- っていうかSEプログラマスレいけよ。