The important thing to note about the display.newText() function is that every time you create text with it, or update its text, it has the OS drawing text to a new bitmap and then submit that bitmap as a texture to the GPU. That bitmap and GPU texture generation is an expensive operation on all platforms. Meaning that doing so frequently will affect the framerate on all platforms. It just happens to be most expensive on WP8. If you switch to bitmap fonts, then you’ll find that you’ll get a better framerate on all platforms, not just WP8.
Case in point, on Android, if you display an FPS counter via an “enterFrame” event and display.newText(), then you’ll find that this can hurt the framerate as well. This is a common tech-support issue for us and we often recommend developers to print() the FPS instead or use bitmap fonts.
But that said, the display.newText() function does have its advantages. Since that function has the operating system render text, then you’re leveraging all of the hard work that Microsoft, Apple, and Google have done to implement properly localized text rendering. Particularly for Asian text which has more symbols than you can fit into an image sheet in memory… or Arabic which is cursive text and difficult to construct via bitmap fonts. Plus, when it comes to multiline text, the operating system already knows where to inject the line break when wrapping text for different languages. So, these are the pluses of this functionality that I’m pretty sure that other SDKs such as Unity and Cocos2d-x do not offer (I believe they only offer bitmap fonts based on my conversations with Microsoft). In Corona, we provide both types of text rendering, which is a huge advantage.
Anyways, that’s my 2 cents. Hope that helps you out.