2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

MSX3 Part2

1 :ナイコンさん:2022/08/07(日) 11:26:21 .net
前スレ
https://kizuna.5ch.net/test/read.cgi/i4004/1297628450/

30 :ナイコンさん:[ここ壊れてます] .net
PC-88だってマルチCPUでしょ。当時のマルチCPUなんてだいたい、PPIなりUART同士でCPU間通信させてるんじゃ?

31 :ナイコンさん:[ここ壊れてます] .net
自転車で豪快に転んで大開脚で白パンティを披露している
セクシー眼鏡マダムの画像をお願いします。

32 :ナイコンさん:[ここ壊れてます] .net
>>29
それは絶体無い
他のゲームの正確な使用量は分からないけど、バーチャファイターは1.8倍だ
何しろ当時のサターンマガジン等で優秀なプログラマーなら1.7倍位は引き出せるだろうけど、バーチャは1.8倍近く引き出してると散々自慢気に話してたからなw
何しろ俺がその記事を当時見ている

33 :ナイコンさん:[ここ壊れてます] .net
何かマルチスレッドの並列処理を記事をざっくり読んで分かった気分になった奴が
全部同じだと思ってグラ2の話を振った感じだったので、触らないほうがよかった

34 :ナイコンさん:[ここ壊れてます] .net
格ゲーの場合は、最も負荷の高いキャラ同士で最も負荷の高いステージで計測しないと駄目だね
そこで処理落ちしないようにしてるから、軽いキャラ同士だとスッカスカになる

35 :ナイコンさん:[ここ壊れてます] .net
そもそもエミュレーターでCPUの使用率なんて正確に分からんだろ
見てるのはWindows上のCPU使用率だ
ハード本来のCPU使用率が正確に分かるエミュレーターだったら、専用のCPU使用率モニターがあるはずだし、動かしてるゲームは処理落ちが完全再現されるはず
そんなの有るのか?

36 :ナイコンさん:[ここ壊れてます] .net
ゲーム雑誌なんて相手がゲーマーだと思っていい加減なことを書いてるから

37 :ナイコンさん:[ここ壊れてます] .net
>>32
え、でもバーチャファイター1のサターン版って30fpsしか出てないよw
単に無駄だらけだから1.8倍なんじゃ…w

バーチャファイター2は60fpsだけど

38 :ナイコンさん:2022/08/11(木) 15:02:10.33 .net
BeOSみたいに横のLEDで使用率わかるようになっていればおもしろかったのにね。

39 :ナイコンさん:2022/08/11(木) 15:39:51.18 .net
>>37
バーチャファイター1はACも30fpsだよ。

40 :ナイコンさん:[ここ壊れてます] .net
>>37
サターン版のバーチャ1はテクスチャを全く使わずにポリゴンだけで顔とか模様(?)を付けていた
それがバーチャ2ではテクスチャーで模様を付けていたので、サターン版では実は2の方がポリゴン数は少ない
なので60fpsに出来たのだろう
1も2も忠実に移植したかったからそんな実装になってるのだろう

41 :ナイコンさん:[ここ壊れてます] .net
異世界おじさんとか見てそう

42 :ナイコンさん:2022/08/12(金) 22:08:11.64 .net
OSないのにCPU使用率どうやって把握したんだろ。
計り方がマチマチだったら意味ないよな

43 :ナイコンさん:[ここ壊れてます] .net
ICEで見ていたのでは

44 :ナイコンさん:[ここ壊れてます] .net
1.8倍も出るわけねえ

45 :ナイコンさん:[ここ壊れてます] .net
だから平均すると1.2倍程度だって
最大瞬間風速で1.8倍出てるかどうか
ただし1個しか使ってないソフトも山ほどあるけどな
無理に2個使ったら足引っぱって遅くなるレベルだからサターンのツインCPUって

46 :ナイコンさん:[ここ壊れてます] .net
>>43
ICEの何をみてCPU使用率を判断するの?

47 :ナイコンさん:[ここ壊れてます] .net
>>46
わかんないなら無理に安価しなくていいよ

48 :ナイコンさん:[ここ壊れてます] .net
サターンの設計はまじでゴミだからな
3D対応させるために後付けでCPU1個追加しただけだから開発者も大変だったよ
それを64bit級とか今なら景品表示法で訴えられてもおかしくない

49 :ナイコンさん:[ここ壊れてます] .net
>>47

お前でもいいや説明して。

50 :ナイコンさん:[ここ壊れてます] .net
>>44
ポリゴンの座標変換は、何千とあるポリゴンの頂点を変換する訳だけど、全て全く依存関係が無くて何千何万頂点を完全に同時に変換しても全く問題が無い
それでも1.2倍とか言ってるのはさすがに知識が無さすぎると思う

51 :ナイコンさん:[ここ壊れてます] .net
ちなみに今は座標変換はGPUがやってる
ちょっと前にハードウェアT&LとかGPUの売り文句になってたけど、このTはTransformの事で座標変換の事を意味していた

52 :ナイコンさん:2022/08/14(日) 04:17:54.38 .net
サターンのマルチCPUって現在のSMP環境のようなバス調停が自動で効率よくできるようなものとは全く違うから
1本のメインバスに無造作に2つのSH2がぶら下がっているだけで、何も考えなければ先にアクセスした方のアクセスが終わるまで他方は何もできず
他方がアクセスを始めれば作業の途中でもおれが先だったとほざこうが何しようが待ち呆け
このバスの取り合いをタイミングからアプリケーションレベルのプログラマに管理させるというクソシステム
普通なら祟られたくないから起動したら速攻でサブ側にHALT発行するよね

当時から2倍は無理でも1.8倍~とか言ってるセガ信者(プログラムはBASICすらまともに扱えないアホ)が居たが
こんな現実なんざ知る由もない

SDLだったかSGLだったか、バーチャ2の開発知見から得たサブルーチン群などをライブラリ化したものが配布されたが、これも要するにバーチャ2以降の話で
バーチャ2以前なんてポリゴンのクリッピング動作すら怪しいようなのがゴロゴロしていた
セガ内製でさえそんなザマだったので、3rd製ソフトなんてもうな…

53 :ナイコンさん:[ここ壊れてます] .net
サターンはどちらかと言うとSH-2の乗算命令の存在が効果あった

54 :ナイコンさん:[ここ壊れてます] .net
へーMDのZ80と68kは並列に動いてたのにな

55 :ナイコンさん:[ここ壊れてます] .net
MDのZ80と68kはバスが分離してるだろ
ゲームで遊ぶことしかできない連中は、このレベルですらわかってない

56 :ナイコンさん:[ここ壊れてます] .net
サターンはバス分離すれば良かったのに

57 :ナイコンさん:[ここ壊れてます] .net
普通はゲーム機で開発する機会はないからな。
詳細な構造は知る機会もないだろう。

58 :ナイコンさん:[ここ壊れてます] .net
サターンはバスが分離してないから1.8倍なんだろ
座標変換はレジスタだけで完結する(させる必要がある)
いかにメモリアクセスを減らすかが当時のプログラマーの腕の見せ所だろ
さすがにセガのプログラマーを馬鹿にしすぎ

59 :ナイコンさん:[ここ壊れてます] .net
>>50
どれが変換済みかのフラグや双方のCPUからのメモリアクセスが入るのにそんなに効率よく処理が流れるわけないだろ

60 :ナイコンさん:[ここ壊れてます] .net
>>59
座標変換は言うなれば行列計算なんで、頂点を1つ読み出し行列と掛け算して書き出す
これをひたすら繰り返すだけなんでフラグとか関係無い
ちなみにみんなキャッシュの存在を無視してないか?
キャッシュはライトスルーなんで座標変換には全く寄与しない
というか普通キャッシュを汚さないようにキャッシュに載らない設定にする
なのでキャッシュはもう1つのゲームロジックの方でほぼ独占的に使うので、頻繁にメモリアクセスが競合するなんて事は無い

61 :ナイコンさん:[ここ壊れてます] .net
間違えた…キャッシュはCPU毎に有るんだった

62 :ナイコンさん:[ここ壊れてます] .net
分からない人に分かりやすく説明するとサターンのツインCPUは心臓2個あるから速く走れますって言ってるようなもん
OSはシングルタスク、プログラムでCPU切り替え
そんな設計で速くなるわけがない

63 :ナイコンさん:[ここ壊れてます] .net
セガ信者「サターンはツインCPUで1.8倍の速度!」

64 :ナイコンさん:2022/08/14(日) 22:32:52.86 .net
ツインCPUで速くならないと言ってるのはマジで無知をさらしてるだけだぞ
プログラミングを勉強してくれ
もはや義務教育だからな

65 :ナイコンさん:2022/08/15(月) 02:39:19.22 .net
サターンの2CPUは速くなってもせいぜい20%程度
これは昔から色んな識者から言われていることだよ
今さら議論する意味もない

66 :ナイコンさん:2022/08/15(月) 11:13:41.61 .net
>>64

マルチスレッド使えるOSないと一般的なプログラミングの勉強では無理だろ。

67 :ナイコンさん:2022/08/15(月) 12:20:08.79 .net
>>65
取り敢えず根拠が分かるソースを出してくれ
鈴木裕が1.8倍とか言ってるのはサターンマガジンとか漁れば出てくる
自分の方でも探してみるけどね
あと、サターン解析記事はググればすぐ出てくる

68 :ナイコンさん:[ここ壊れてます] .net
最大瞬間風速1.8倍だろうな
セガは32bitx2を64bit級とか誇大広告を流してたクソ企業だからな

69 :ナイコンさん:[ここ壊れてます] .net
Use of Slave CPU in comercial games
https://segaxtreme.net/threads/use-of-slave-cpu-in-comercial-games.16808/
検索したらスレーブCPUの使用率を計測した書き込みを見つけた
これ見ると、サードパーティのゲームは本当に1CPUしか使われてなかったのかも知れないw
バーチャ2は鈴木裕の言ってる通り80%使われてるようだ
ただ、これをもって2CPUで1.8倍の性能を叩き出してると結論付けるのは、動いてるコードの質も関係するから何とも言えないけど、まぁバーチャだし1.8倍と言っても過言ではないだろう

70 :ナイコンさん:[ここ壊れてます] .net
1.8倍なら実際は57.6ビット級だったってことか

71 :ナイコンさん:[ここ壊れてます] .net
>>69

この計測はエミュレータのCPU速度調整によってゲーム進行が遅くなるかどうかで行われているようだけど、
プロセス間通信のコストも一緒に有効なCPU処理として計測されているのではないだろうか。

メインCPUだってサブCPUの影響で止まるだろうし、1.8倍からはほど遠いなー

72 :ナイコンさん:[ここ壊れてます] .net
プロセス間通信なんて高度なことやってねえよ
CPU1がCPU2の書き込んだデータを見張って処理完了フラグが付いてたらそれをCPU1が使う原始的な方法だよ
だからCPU1は常にメモリ見張ってなきゃならないしCPU2も次の命令が来るまで待たされる
こんな内部処理でどうやって1.8倍も出すんだ?誰かが言ってた最大瞬間風速でもせいぜい1.5倍程度だろ
1.8倍なんてどうせフカシ

73 :ナイコンさん:[ここ壊れてます] .net
当時本当に64bitだったのはニンテンドー64だけ
R4300カスタムの93MHzというワークステーションに使われるような高級CPUをCS向けに卸してきた

74 :ナイコンさん:[ここ壊れてます] .net
メモリ見張っている時間もCPU使用時間にカウントです。

75 :ナイコンさん:[ここ壊れてます] .net
なら実効性能は0.8倍ってところか
ツインCPUで逆に遅くなるというお馬鹿な設計で

76 :ナイコンさん:[ここ壊れてます] .net
な?俺のレス>>19の通りだろ?

どっちも正しいことは言ってない

77 :ナイコンさん:[ここ壊れてます] .net
では、正しい解説を頼む。

78 :ナイコンさん:[ここ壊れてます] .net
メモリ見張ってる時間て…
データもコードもキャッシュに載ってんだからそんな頻繁にメモリアクセスは競合しないっつの
コンピューターの基礎を知らんやつばっかり

79 :ナイコンさん:[ここ壊れてます] .net
さすがにポーリングによる共有メモリ監視とは考えにくいな。
処理終了は割り込みで通知するのではなかろうか。
キャッシュは4Kbyteのライトスルーでスペックがしょぼい。
メモリアクセスはそれなりに競合すると思う。

80 :ナイコンさん:[ここ壊れてます] .net
一体ここは何のスレッドなのか

81 :ナイコンさん:[ここ壊れてます] .net
スレタイ見ろよ、セガサターンのスレだろ

82 :ナイコンさん:2022/08/15(月) 22:12:42.68 .net
SH2には実験的にマルチプロセッサの機能が搭載されてて
それがあったから二個搭載できたってのは知ってる
SMPじゃなく、共有メモリと独立したローカルメモリの方式だと思うけど

83 :ナイコンさん:2022/08/15(月) 22:23:56.77 .net
結局>>72のやり方になるわけか

84 :ナイコンさん:2022/08/15(月) 22:33:14.81 .net
SH2A dual と同じ仕組みではないだろうか

85 :ナイコンさん:[ここ壊れてます] .net
残念ながらSH2Aとは全然違うよ
ただのSH2

86 :ナイコンさん:[ここ壊れてます] .net
3Dゲームの一般的な流れは、
1. CPUがキー入力を受け取りキャラのモーションデータを姿勢行列へ適用する
2. 適用した姿勢行列を描画命令と共にコマンドバッファ1へ書き込む
3. 垂直同期待ち
4. 垂直同期が発生したらVRAMのダブルバッファを切り替える
CPUは1へ戻るが今度はコマンドバッファ2を使う
GPUはコマンドバッファ1を読み込み描画を開始する
以下コマンドバッファ1と2を切り替えながら繰り返し
CPUとGPUが待つことは全く無い

87 :ナイコンさん:[ここ壊れてます] .net
サターンのスレーブCPUは子プロセッサ的に使ってたわけだから、姿勢行列(マトリックスパレット)をダブルバッファにすれば、メインCPUと同期を取る必要は全く無い
当たり前だが垂直同期だけは待つ必要は有る
取り敢えず、これでポーリングだの言ってる人は疑問が解消したか?

88 :ナイコンさん:[ここ壊れてます] .net
嘘つき詐欺師現るw

89 :ナイコンさん:[ここ壊れてます] .net
このスレ、エアプのシッタカばっかりで草生える

90 :ナイコンさん:[ここ壊れてます] .net
サターンのツインCPUはサブ側の動作中にメインが待ち惚けを食らっても良いタイミングでしか回せないので
Vブランクで割り込みが起きてI/O処理とかしてる間にサブで座標変換を回しておく…みたいな使い方ができない
メインに迷惑のかからない時間となるとメインループ中の後半以降、つまりサブ側はCPU時間の過半は寝てるしかない
こんなもんで1.8倍なんか出るかよバーカ、って一瞥してわからん連中は雑魚

91 :ナイコンさん:[ここ壊れてます] .net
いつまでやってるんだ

92 :ナイコンさん:[ここ壊れてます] .net
>>90
あからさまに文系が書いたような文学だなw

93 :ナイコンさん:[ここ壊れてます] .net
西氏からの情報が止まってしまったのは、更に延期濃厚って事かね?

94 :ナイコンさん:[ここ壊れてます] .net
2022年の夏はまだ終わらないからっ!

95 :ナイコンさん:[ここ壊れてます] .net
サターンまで来ると複雑すぎるからか情報が少ないな。

96 :ナイコンさん:[ここ壊れてます] .net
8ページ目にブロック図
http://antime.kapsi.fi/sega/files/13-APR-94.pdf

main CPUとslave CPUのやりとり
http://antime.kapsi.fi/sega/files/ST-202-R1-120994.pdf

97 :ナイコンさん:[ここ壊れてます] .net
どっちにしろプレステに負けてんだから仲良くしろよw

98 :ナイコンさん:[ここ壊れてます] .net
ソニーはナムコと組んだのが大きかった
ナムコもいち早く3Dの技術を研究してたからね
むしろSEGAは一見3Dに長けているように見えるだけで、実際は他社の技術を使ってるだけだった
プレステの勝利はナムコの技術力の勝利でもあった

99 :ナイコンさん:[ここ壊れてます] .net
気持ち悪い信者が居るな

100 :ナイコンさん:[ここ壊れてます] .net
>>96 の資料からは >>72 が近いように読めた。

他の制御方法も実装されているかもしれないけどね。

101 :ナイコンさん:[ここ壊れてます] .net
キャッシュにプログラムが収まってればローカルメモリなしでも高速に動けるのかね
まあMSX3と何の関係もないサターンの話なんかしたくないんだが・・・

102 :ナイコンさん:[ここ壊れてます] .net
MSX3はFPGA実装でも今時のコア使ってキャッシュ盛りで爆速なのでは

103 :ナイコンさん:[ここ壊れてます] .net
Occamはもう実装されているのだろうか。

104 :ナイコンさん:[ここ壊れてます] .net
スパコンで使われてるわけでもないもう何十年も前に進化の止まってるOccamを今さら担ぎ出す意味がわからん

105 :ナイコンさん:[ここ壊れてます] .net
>>100
俺もそう思った
セガサターンは設計が古すぎるな

106 :ナイコンさん:[ここ壊れてます] .net
プレステの3D性能に驚いてコプロ代わりに追加したCPUだからね
取って付けた感は否めない

107 :ナイコンさん:2022/08/18(木) 10:47:59.91 .net
90年代半ばにマルチCPUでのソフトウェア技術あったのって
UNIX系統じゃないの?
SUNやらシリコングラフィックスがそういうワークステーション
出してたから、それ用のエンジニアソフト作ってたとこは
その手の技術があったかと

108 :ナイコンさん:2022/08/18(木) 11:04:10.50 .net
Occam は80年代の技術イメージかな
SUNより前

109 :ナイコンさん:2022/08/18(木) 11:11:00.78 .net
コプロセッサってCPUに代わって(一時停止させて)浮動小数点等の拡張命令を実行する構成だと思ったが
キャッシュを活用して回路を複雑にせずに並列実行を可能にしたのは結構すごいことだったのでは?
リーズナブルなデュアルCPUシステムと言えるし、ゲーム機に採用するにはベストな選択だろう

110 :ナイコンさん:2022/08/18(木) 15:09:18.03 .net
その後マルチCPUって流行らなかったし、
複雑さに見合ったパフォーマンス出ないのだと思うよ。

111 :ナイコンさん:2022/08/18(木) 16:48:15.19 .net
完全にキー入力専用とか音楽チップ担当とか決め打ちならマルチCPUでも使えるけど
同じ性能のを2個持ってきて共有メモリ介して適当に使ってねと言われてもね

112 :ナイコンさん:2022/08/18(木) 17:55:58.57 .net
結局>>72みたいなクソみたいなプログラムを組むしかなくなるんだよ
あ、これは>>72がクソってことじゃなくて設計がクソだからって仕方ないって意味ね

113 :ナイコンさん:2022/08/18(木) 18:11:12.41 .net
異世界おじさん5話きてるぞ

114 :ナイコンさん:2022/08/18(木) 18:20:40.82 .net
お前がこのスレで勝ち誇る意味がわからん

115 :ナイコンさん:2022/08/18(木) 18:24:37.84 .net
難しいんだろうなぁ
SH-2のキャッシュはデータ命令混在で4kBだから簡単にバスの競合が発生するだろうし
ゲームで実行時間の最大値を見積るのが難しいなんてのは使いにくいよ

116 :ナイコンさん:2022/08/18(木) 21:15:12.65 .net
SH-2は1個で良かったんじゃね?
他に音源専用のバッファ備えたZ80とか
その方がコスト下げられたのでは?

117 :ナイコンさん:2022/08/18(木) 22:00:13.29 .net
サウンドは68000だったよ。
プレステと比較してサターンは構造が複雑すぎる。

118 :ナイコンさん:2022/08/19(金) 10:21:40.42 .net
おまえのプログラムで効率が悪いなら使わなければいいだけ

119 :ナイコンさん:2022/08/19(金) 11:52:34.65 .net
ほとんどのサードパーティで使ってなかったけど?

120 :ナイコンさん:[ここ壊れてます] .net
サターンが複雑すぎて製造コストが上がったのとPG作りにくかったのを反省してDCでは単純にしたんだけどね
爆音GDROMと使いにくいコントローラーのイメージしか残ってない

121 :ナイコンさん:[ここ壊れてます] .net
DCのGPUのPowerVRは傑作GPU
長く使われてiPhoneにも搭載されるまでになった
しかしソニーはそれを上回るCPUとGPUを作ってしまった
凄い性能だけどあまりにもチップが巨大になってしまったが、この頃は自社工場を持ってたので何とか製造できた
それにこの頃は半導体の進化が速かったので、直ぐに現実的なサイズになって最終的には1チップ化した
PS2は1億5千万台も出たから、最後の方はハードだけで莫大な利益を上げていた

122 :ナイコンさん:[ここ壊れてます] .net
PS2はDVDプレイヤー載せたのたのがよかった

123 :ナイコンさん:[ここ壊れてます] .net
PS2はサターンとまた違った意味でバランスが悪いハードって評判じゃなかった?
PS2が力押しでのりきれてしまったもんだからさらにソフトが作りにくいPS3
なんてものを作ってしまって、二度も会社つぶす結果になりました。

124 :ナイコンさん:[ここ壊れてます] .net
ICEでCPU使用率わかるのだろうか?

125 :ナイコンさん:[ここ壊れてます] .net
俺サターンの開発やってたときはゲーム動かしてるCPUとは別のCPUに楽曲の
ストリーミング再生と効果音のADPCM⇒PCM変換やらせてたわ。
CPU 1個使う仕事ではないけどそれなりに負荷ある処理だったんでまあまあ
良かったんじゃないかと思ってる。

126 :ナイコンさん:[ここ壊れてます] .net
>>125
GTEみたいに固定機能じゃないから使い方を考えるのは楽しそう
やっぱり効果音とかはメモリを考慮してADPCMでデータを持ちたいのかな

127 :ナイコンさん:[ここ壊れてます] .net
>>124
そこまでエミュレートできないとゲーム開発には使えない

128 :ナイコンさん:[ここ壊れてます] .net
PS3はPS2の成功体験の延長で設計したけど、CELLはピーク性能は半端無いけど、プログラミングは非常に難しかった
で、GPUもCELLベースのものを設計してたけど、頓挫してNVIDIAの出来合いのGPUを突貫で載せたのがPS3
初期の頃はXBOX360に負けるようなゲームしか無かった
当初CELLはAIや物理エンジンに使うことを想定してたが、危機感を感じたソニーは、CELLをレンダリングに使うライブラリ(Edge)を作成した
それで互角に戦えるようになったが、プログラミングは相変わらずムズかった
要するにPS3ほ失敗した

129 :ナイコンさん:[ここ壊れてます] .net
PS3はメモリが少なかったのも良くなかったな
ところでMSX3はどうなったん

総レス数 1002
180 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200