Melody Glider - My FEZ Cobra project

These questions can become a MessageBox in the next release.

Hashtables are good for large sets of data. ArrayList will be faster for what you’re doing.

Most of the load time is from the XML parsing. One solution would be to create the more complex windows as a C# file. This would reduce the time immensely. It’s also wise to limit window Invalidate calls. The editor shouldn’t redraw the whole window when things change. The center rectangle (StaffDrawer?) should be its own component extending DisplayObject. When changes occur in it, simple image changes are made or only this object is invalidated. A quite a few things could be done to speed things up.

You’re right, I’m working on reducing to minimum the number of Invalidate calls :). Even for buttons - if there are few buttons to be disabled/enabled if every single is invalidating it looks like it’s glitchy; so it is better to invalidate window once after disabling/enabling all of the buttons.
After improving issues with xml, invalidation and doing some cleanup of code I will get the StaffDrawer to do what I want ;). Also it would be nice to see MessageBox component. Then two windows will be off, and I will try to create my own numerical keyboard that will also just pop-up when called, like MessageBox or Glide keyboard.
Also my friends are telling me to change the way of creating new note because it takes a lot of time - or maybe it is because of this low performance of StaffDrawer.
All of these… But now I will maybe have to suspend my project for a while - my supervisor will have another project for me to do from today, for FEZ and .NET MF have a lot of other things to train :). I hope that I will have few days here to make further changes to Melody Glider - if not, the project will have to wait a little longer until I get few things to home.

Regards,
Tomasz