I've been making a an AIr Native Extension for 5 weeks now and am nearly ready to integrate it into my actual project. One of the issue I had to overcome was that the framerate of the flash plugin was really slow. I put this down to the fact that I didn't have a visible window and overcame this by finding the adobe air window and using that as the parent for my window that I was going to hide off screen within it. This is work well, but in doing so, I realised that I was actualy creating the window inside Adobe AIR, so why not try switching it back to a normal child window and see if it displays and voila it does. This allows me to support PDF's now as the window is no longer offscreen.
This discovery is both good and bad, good because it will be less code run a little faster and I've learnt loads doing this exercise, but bad because I've already written loads that I'm thinking I can just chuck away now. So, I'm left wondering what the purpose of the offscreen rendering is as surely every implementation must have a window of some sort that they can use? I'm asking from the point of view that I came to this project with no C++ or Win32 API experience and think it might be useful for others to understand too.
Thanks
Richard