Jump to content
  • Advertisement
Sign in to follow this  

Flash rendering trickery?

This topic is 2756 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

In my day job, I make an app to render flash. To allow control and get feedback, this is done in a plain old WebBrowser control in a plain old borderless, full-screen form. Unfortunately, a new requirement is that we show multiple flash files that are supposed to fit together. No, we can't stitch the flash files together... that'd be too easy.

The problem comes when we have 4+ files in a single window. Currently on transition, we call out to javascript to replace the flash in-line in the dom and position them correctly. Has to be done this way or flash leaks GDI resources. All of this is done in a hidden control behind the currently playing screen.

When each movie loads, it triggers an event. Once all of the events are triggered, a master event fires off to C#, which flips the browser controls. This flipping is done literally by:

this.backgroundBrowser = browserTwo;

...and a second handler that does the reverse for the other browser.

When there are 4+ movies on screen (give or take based on machine performance, movie size, etc) they don't visibly all show up at once, even though the control should. The movies are drawn onto the screen one at a time, with the old control showing in the un-redrawn parts.

In addition to showing flash, the app is doing a pile of small other tasks. I've done my due diligence about making those tasks infrequent and low impact. I've bumped the process and the main form thread's priority. Short of 'hiding' the background control offscreen instead of Hide/Show or doing big content changes that business won't allow I've pretty much run out of ideas.

Any ideas for things to try so that the movies draw all at the same time? Questions about the setup that can help determine possibilities?

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!