-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO.txt
141 lines (136 loc) · 5.63 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
This site is amazing:
http://ericlin2.tripod.com/
# TODO:
# Priority Low
#50. improve note batching method. Batching notes by not only bpm and scroll,
a slight speed change will not break the order.
# 9. implement font, static text, edit text, button, etc.
#25. Use vertex array to do batch while avoid a fixed-length vbo.
#26. Use index to specify all the transformation(matrix, color, blend_mode, etc).And move the whole render code to C level.
#30. onp moji has no lm file.handle those text specially.
#32. try to arrange the order of LM files.(For best performance)
#37. provide a dummy interface of a movieclip when the movieclip pool is out of stock.
#44. fix multiple values for 'SCOREINIT'.
# Priority High
#52. implement fumen bunki
#54. fix bug. hitjudge(ryo, ka, fuka) blend mode not correct.
#58.
#10000. optimize(Never do this when not neccesary!)
# DONE
# 8. try wii version.
# frame rate almost the same, so, my player is most
# probably cpu bounded.
#
# 4. DANCE_BG_10.LM bubble flashs.
# Bug fixed, a mc which is inited in the
# current frame should not advance in the same frame
#
# 6. Sprite not complete matching together. metedai?dancebg05
# tag shape can define a boundbox smaller than the filling image.fixed.
#
#11. make get_id method of tag class a normal method.(not class method!!)
# In fact, I don't know how to use this..., so remove.
#
#10. optimization. create vertex for sprite only once.
# haven't check if this really improves.
#
#13. optimization. play with cProfile.
# have use cProfile to find the hot spot.creating too much color instance.
#
#17. try reuse color instance.
# Better, but not satisfied.I should avoid doing math completely when there's no change.
#19. may be I can measure render depth, and count draw counts.
DANCE_BG_04.LM
Render Statistic Peak:
113 nodes visited
79 primitive draw
max recursive depth: 5
DANCE_BG_10.LM
Render Statistic Peak:
110 nodes visited
52 primitive draw
max recursive depth: 7
DANCE_BG_12.LM
Render Statistic Peak:
138 nodes visited
89 primitive draw
max recursive depth: 6
can we just advance and draw in one call?
if i have to visit so many nodes and cost so much on recursive function call
i can do drawing in the same visit.
#20. Try to do drawing and update in the just one visit
Yes, it helps.
# 1. introduce `scene`
load multiple lm files
# 3. fscommand(used everywhere for callback)
just add an arg in do script call
#24. Using a solid color texture instead of introducing a new filling mode.
Shapes can have a fill style type called solid fill(0x0).This
causes trouble for batching.We can eliminate this by creating a 1x1
texture of the fill color.
#22. [Important!] Dynamic batching!
Done, much improvement seen. But fail on some file, such as
DANCE_BG_04.LM, which switch context will quickly.And also, use a
fixed vbo means to fill extra vertices data, when a batch fails to
fill the vbo fully.
#12. bubbles in DANCE_BG_10.LM experiences a significant slow down.
# If i remember right, i don't have this problem before.
# It seems that too many color composition and matrix math is the main # cost.but i already have an idea in my mind~~~see 15.
# shader.uniformi cut off almost 10 fps!
# 7. optimization. play with numba or Cython or PyPy.
seems that Cython is the way to go.
PyPy is much much slower than CPython in my case.
numba .. I can't get it installed on windows.
#14. Don't use opengl api to do matrix calculation
Done.Need a optimization later.
#15. try to implement a dirty render state algorithm.
Dropped.Not that flexible.
#16. try to map all leafs to a list.(not too hard)
Dropped.Not that flexible.
#18. colors will not be truncated until it is going to display
Do nothing.Opengl will do that work.
#23. use t2f instead of t3f.
Don't need z-value for a tex_coord.
#27. fix rotation bug.
#28. fix sabi effect area not correct bug.
#29. combo not set correctly
#31. DON_GEKI_1P.LM has not implemented tag!
0x0007: Button2,
0xF018: Button Record.
Not needed.button is not used in that lm file.
#36. dump texture packs into separate folders to avoid filename conflicts.
done. Download seprate packages from 115.
#35. implement movie clip pool object
done.
#34. create several score add movieclips and Reuse them.
#21. support property _root
#39. pool leak!
#38. use "package.lumen" to access a lumen file.
texture root for that lumen file is exactly the same folder.
py_actionscript is also placed in that folder. hence, move to `resouce` folder.
done! all resource files are now compact and clean!
#40. implement don cos feature.(custom texture class, and just replace that instance in runtime)
#33. adjust clip depth implementation.
#41. fix renda effect position.
#43. bug fix, DANCE_MIKU_02~05 not correct.
#45. precalc offset for all notes
#49. Move DON_POS_* constants to config file.
#46. fix balloon count.
#47. fix dancer bug. dancer can not be removed correctly.
DANCER_GUMI_01.LM ~ DANCER_GUMI_05.LM uses wrong callback!
should be "dancer_out_end" when "out" animation is end.
Can only fix it by hardcoding.
#48. makes a note sheet flow.
Tested all notes ok.(Except bunki syousetsu.)
#55. renda speed too fast, too many onp_fly and renda_effects
Limit mecha don renda speed to 12hit/s
#53. implement auto play
Now, mecha don can hit all onps correctly.
#51. implement hit judge
Now, all onps can be judged correctly.
#55. implement score adding, and other statistics(base for fumen bunki)
Move to github issue.
#56. fix bug. utahim.tja.
Move to github issue.
#42. fix play speed of certain movies, which are affected by current BPM.
Move to github issue.