Mercurial > hg > Members > kono > Cerium
annotate TaskManager/Test/test_render/ChangeLog @ 188:06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
author | gongo@localhost.localdomain |
---|---|
date | Thu, 08 Jan 2009 15:34:19 +0900 |
parents | 5cde66c926b4 |
children | 5e3b0405a44b |
rev | line source |
---|---|
188
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
1 2009-01-08 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
2 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
3 * spe/DrawSpanRenew.cpp (DrawSpanRenew::run): fix |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
4 next_spack を free() していたが、do-while の最初で |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
5 next_spack = NULL とかやっている。 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
6 DrawSpan だと、free するのは free_spack ってやつなので |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
7 問題なかったが、なぜここは free(next_spack) とかやってるのか。 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
8 というわけで、next_spack,spack 両方用の |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
9 free_spack1, free_spack2 を生成して、これを free させることに。 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
10 これで、ようやくまともに動くようになった。けど微妙です。 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
11 遅いですね。 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
12 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
13 * addFile : DrawSpanRenew.cpp |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
14 DrawSpan の再起動 ver。 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
15 |
180
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
16 2008-12-22 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
17 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
18 * fix |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
19 charles を Fedora 10 に上げて、コンパイラが新しくなったせいか、 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
20 以下のような warning が出始めた |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
21 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
22 warning: deprecated conversion from string constant to 'char *' |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
23 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
24 まあよくわからんが、例えば |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
25 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
26 char *str = "hoge"; |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
27 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
28 みたいな所だとこの warning が出る。これを |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
29 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
30 const char *str = "hoge"; |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
31 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
32 にすると消えた。 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
33 以後こういう形に統一しろよ的なやつなのかな。 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
34 |
179
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
35 2008-12-19 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
36 |
180
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
37 * viewer.cpp (Viewer::run_draw): fix |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
38 startx, endx に対して、start_y, end_y って名前は統一されてなくて |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
39 わかりづらいので、starty, endy に変更 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
40 |
179
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
41 * main.cpp (init): fix |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
42 bpp (BitsPerPixel) の値がデフォルトで 0 になっていた。 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
43 今のレンダリング方式では 32 がデフォルトなので、間違ってた。 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
44 今まで気づかなかったのは |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
45 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
46 1. SDL_SetVideoMode に bpp = 0 で渡される |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
47 2. SDL が開発・実行環境に合わせて bpp を設定 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
48 3. 今までそれが 32 になってた |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
49 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
50 しかし、ゲーム班の環境では bpp = 16 になってしまったため、 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
51 その次の bitmap の allocate の時に |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
52 screen->pitch*height = 16*width*height となり、 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
53 DrawSpan では 32 のつもりで書き込んでいたため領域外への |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
54 メモリ書き込み->エラー |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
55 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
56 ゲーム班ありがとう |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
57 |
176 | 58 2008-12-16 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> |
59 | |
178
5d1b82945b0d
add makeTapestry in SceneGraph.cpp
gongo@localhost.localdomain
parents:
177
diff
changeset
|
60 * SceneGraph.cpp (makeTapestry): add |
5d1b82945b0d
add makeTapestry in SceneGraph.cpp
gongo@localhost.localdomain
parents:
177
diff
changeset
|
61 SceneGraph::get_data にあったけど、ごちゃごちゃしてたので |
5d1b82945b0d
add makeTapestry in SceneGraph.cpp
gongo@localhost.localdomain
parents:
177
diff
changeset
|
62 関数として生成 |
5d1b82945b0d
add makeTapestry in SceneGraph.cpp
gongo@localhost.localdomain
parents:
177
diff
changeset
|
63 |
177 | 64 * viewer.cpp (Viewer::run_init, Viewer::run_draw): fix |
65 * spe/DrawSpan.cpp (DrawSpan::zRow_init): delete | |
66 | |
67 Z Buffering に使う zRow は DrawSpan で毎回生成、初期化するのではなく、 | |
68 PPE で生成、初期化を行っておき、DrawSpan に add_inData で | |
69 DMA で渡すという方法に変更。速度的にはほんのちょっとしか(ry | |
70 | |
176 | 71 * spe/CreateSpan.cpp (CreateSpan::half_triangle): fix |
72 getScale に渡す tex_width,tex_height を修正。 | |
73 比較にそのまま tex_width, tex_height を使うと、 | |
74 Span が持つテクスチャが全体の一部分だったとしても | |
75 比較結果で縮小が行われてしまうため。 | |
76 | |
77 - 例 | |
78 span->length_x = 32; | |
79 tex_width = 128; | |
80 tex_x_len = (span->tex_x2 - span->tex_x1) = (0.5 - 0.3) = 0.2; | |
81 | |
82 今までの処理だと、span->length_x < tex_width の結果により | |
83 縮小されたテクスチャを使うことになる。 | |
84 しかし、実際に Span が使う Texture の長さは | |
85 | |
86 tex_width*tex_x_len = 24 | |
87 | |
88 なので、縮小を行う必要は無い | |
89 | |
90 | |
175 | 91 2008-12-12 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> |
92 | |
176 | 93 * SceneGraph.cpp (SceneGraph::get_data): Todo |
94 テクスチャの縦横が 8 の倍数でなければ弾く処理を入れる。 | |
95 | |
175 | 96 * spe/DrawSpan.cpp (DrawSpan::run): Todo |
97 テクスチャの座標計算と、そこから取得できる Tile の DMA を | |
98 一スレッドで処理しているのでそれを分けないといけない | |
99 | |
100 * spe/CreateSpan.cpp (getTapestry): Add | |
101 (getScale): Add | |
102 | |
103 * memo: 雑記 | |
104 ようやくこいつに ChangeLog を加えました。 | |
105 なんか emacs で「C-x 4 a」とかすると、ChangeLog の entry が | |
106 加えれられるんだけど、上の階層のを探しにいくので、TaskManager/ のに | |
107 加えようとしてたわけさ。まあそういう仕様なんだけど。 | |
108 で、だからといって不可能ってわけじゃないから書けばよかったんだが。 | |
109 | |
110 要するに、これからはちゃんと書いていこうと思います。 |