profMobi - not sure what you mean because Construct 2 games are built completely with the <canvas> tag. I was referring to the fact all DirectCanvas calls have to be made in a separate javascript context and communicated with using strings and eval(). This is a big spanner in the works for our engine since we have render code spread out over a bunch of plugins (including third party ones we don't control) that looks like it all needs changing. Further, Image objects can't be stringified so we'd have to hack all our loader code, and the Images are needed in both contexts so it might end up doubling memory usage which is especially bad for low-memory devices like phones. Finally, stringify and eval() smells kinda hacky! eval() is gonna do javascript syntax parsing on every call which makes it slower than it could be.
I'm kind of exasperated because we'd love to use it and get the performance gains, but the whole second-context thing makes it a nightmare, and we're working round the clock as it is. Why don't you guys just design it all to work from one context?!