へにっくすの掲示板日記

そりゃ重そうだな。

アバター
へにっくす
記事: 634
登録日時: 13年前
住所: 東京都

そりゃ重そうだな。

投稿記事 by へにっくす » 11年前

以下の投稿。

http://dixq.net/forum/viewtopic.php?f=3&t=15635

ソースをアップローダに登録したようなので見てみたが、
それぞれの関数で100行以上になっている
おいおい・・・
高速化の前にもっとやることあるよな?
と思って突っ込んどきましたが
どうこたえてくるかなあ。(^^;

アバター
せんちゃ
記事: 50
登録日時: 14年前

Re: そりゃ重そうだな。

投稿記事 by せんちゃ » 11年前

100行以上にはなってますが種類別に処理を分けてるだけのようだったのでざっと何をやってるかはわかりやすいですね。
やるならせめて継承してぇ!!とか思っちゃいますけどもw
あちこちでnewを呼び出していたようなので、その辺大丈夫なのかなとかは思ったり。
new演算子をオーバーロードしてメモリプール使ってる印象も薄いですし、framecountを0にしないと毎フレームnewしたりしそうで結構怖い実装だなぁと。。。
描画周りよりUpdate内で変な処理してそうな気がしております。
最後に編集したユーザー せんちゃ on 2014年9月05日(金) 10:09 [ 編集 1 回目 ]

アバター
usao
記事: 1889
登録日時: 12年前

Re: そりゃ重そうだな。

投稿記事 by usao » 11年前

その 100行 という基準はどこから来たのしょうか.

・個人的な経験的につらくなる量?
・一般に言われている目安量?
 (その場合,その値は なんとなく なのか,それとも 何らかの統計的理屈(?)等によるもの なのか)
・何らかのハードウェアやソフトウェアの性能等に起因するような量?
 (むかしは一度に○○行しか表示できなかった だとかいう系)


私が日常的に触るコードは100行程度はわりと簡単に突破してますけど……
(例えば N行ある行列の値を素で書かれたりすれば あっという間にN行以上消費するわけで)

ISLe
記事: 2650
登録日時: 14年前

Re: そりゃ重そうだな。

投稿記事 by ISLe » 11年前

過去には一画面内に収まる量なんて言われてましたがいまは大画面だし環境によって違うし通用しませんね。

ちょうどいま構造化が話題になっているトピックでも少し触れてますが、わたしのいまの感覚では100行でもとても長いと思います。
長くても20~30行くらいでしょうかね。

初期化に使う値とかは含みません。
サイズの大きいものは外部データ化を念頭に置くので、書くとしても外部変数ですね。
関数内に直に書くことはまずありません。

おおむかし作った、とある画像チップの入出力をエミュレートする関数というので、数百行に及ぶものがありました。
物理的に途中で切り分けるのが無理だったのでその辺は臨機応変です。

アバター
Ketty
記事: 103
登録日時: 11年前

Re: そりゃ重そうだな。

投稿記事 by Ketty » 11年前

ぐぅ・・・件の質問者さんのソースを、興味本位ではありますが、
何かちょっとでもアドバイスできればよかれと思い、
ダウンロードさせていただいたのですが、全部読む前に燃え尽きてしまいました・・・。
ご本人は、これをきっと頭の中で記憶されているのだろうなぁと思うと、それはそれで、すごいなぁと思います。

先のせんちゃさんがおっしゃるように、処理を分けておられたので、まだ救いようがあるのかもしれないですが、
結局全部のcaseをたどらないと、今回の問題点が見えないと思われ・・・リタイアです(参加もしてないのに!)

switchがいっぱいだから、きっとMethodExecとかいうデザインパターンが有効だね!←チガウ(~_~ )

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前

Re: そりゃ重そうだな。

投稿記事 by softya(ソフト屋) » 11年前

うずらさんから、まさかの無茶ぶり。
「Objectを大量に描画したいが…重い。なにかが悪い。 • C言語交流フォーラム ~ mixC++ ~」
http://dixq.net/forum/viewtopic.php?f=3 ... 14#p124513

アバター
へにっくす
記事: 634
登録日時: 13年前
住所: 東京都

Re: そりゃ重そうだな。

投稿記事 by へにっくす » 11年前

> せんちゃさん
何かをやってるのは分かる。
でもね、あんなにだらだらと書いてちゃメンテしにくいだろ!!
と思うのです。
しかもマジックナンバーだし!!(怒)


> usaoさん
どこからって個人的な感覚ですから、まともにとっちゃやーよ。
そうですね
・個人的な経験的につらくなる量?
に近いかな。

そりゃ必要な処理で、まとめようのないものだったら長くてもかまいませんが。
件のソースは、敵のタイプ/動きなどすべてベタで書いてるんですよね
私なら敵のタイプごとにクラスを作ると思います。

> ISLeさん
お久しぶりでございます。

過去のパソコンモニタは80桁×25行だったので20~30行が理想でしたよね。
今のモニタは字の大きさが変えられるので、100行ぐらいかなと個人的に思っています。
でもまあ100行でも長いなあという感覚はありますよ。
考えは同じですね。

> Kettyさん
「全部読む前に燃え尽きてしまいました・・・。」
私も同じです。笑
なので、
高速化よりやることあるよね?と書きましたが。
MethodExec?ていうパターンありましたっけ、、、

> softyaさん
プロファイラ・・・
デバッガでついてくるプロファイラはあれば確かに便利だが、
たいていはお値段はるんですよね~
(^^;
うずらさんからの反論はあるのだろうか。笑

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前

Re: そりゃ重そうだな。

投稿記事 by softya(ソフト屋) » 11年前

学生ならDreamSpark 申し込みは当然という意識なのかな? とも思ったり。

アバター
Ketty
記事: 103
登録日時: 11年前

Re: そりゃ重そうだな。

投稿記事 by Ketty » 11年前

>MethodExec?ていうパターンありましたっけ、、、
↓これです(^^)
http://marupeke296.com/DXCLS_MethodExecTemplate.html
私は理解できてませんが、switch恐怖症な人向けの手法なのだろうと想像しています。

アバター
へにっくす
記事: 634
登録日時: 13年前
住所: 東京都

Re: そりゃ重そうだな。

投稿記事 by へにっくす » 11年前

> softyaさん
あたってましたねえ。
スレ主が学生でなかったらスルーされて終わりのような。
って、まだスレ主が返事してないっすね・・・

> Kettyさん
ああ、これをMethodExecパターンというのか。いや、パターンじゃないか。テンプレートですね。
何となく使っていたテンプレートに名前がつきました。ありがとうございます。
でもこのテンプレート、経験上、あまり使ったことがないです。
最後に編集したユーザー へにっくす on 2014年9月07日(日) 23:55 [ 編集 3 回目 ]

アバター
usao
記事: 1889
登録日時: 12年前

Re: そりゃ重そうだな。

投稿記事 by usao » 11年前

100行… って話を,ここ以外でもちらほら見かけたことがあるような気がするので
何か起源があるのかな?と思ったのですが,単にキリの良い数字だから例として使われるだけなのかな.

私のいつもの環境ではコードは何行見えてるんだ?と,確かめてみたら
何と 49.5行しか見えてないのですね.思ったより少ないんだなぁ…
左右2ペインとかにするとそれはそれで今度は微妙に幅が足りないし,この横長の画面(16:9)の規格は誰得なんでしょうか.
(表示を90度回転すれば便利そうだけど,ノートなんだよなぁ…
 …待てよ,間をとって モニタスペースを斜めに使うエディタがあればあるいは…!)
最後に編集したユーザー usao on 2014年9月08日(月) 11:49 [ 編集 1 回目 ]