Move Flash Player in Delphi TWebBrowser control to background stream?

I have a Delphi 6 Pro program with a TWebBrowser component that loads a webpage that has Cool Iris Wall embedded. The Cool Iris layer is a SWF object, which means that upon startup, execution occurs inside an Adobe Flash player, such as ActiveX or a similar object. The problem I am facing is that sometimes, when the Wall downloads images / videos from the Internet, this greatly affects the processor on the main user interface thread. I know that TWebBrowser moves most of its operations to the background thread to support the main UI thread, but something that the Adobe Flash Player does happens in the main UI thread, and it causes a lot of grief in my program. Is there a way to move Adobe Flash Player to a background thread?

[UPDATE - 12/7/2010] - After the investigation and debugging session of the marathon, it turned out that the problem was related to the Cool Iris Wall Flickr proxy server. You can interact with Wall in two main ways: 1) you give them special Flickr api protocol URLs and let them talk to Flickr for you, for example, "api: //www.flickr.com/? Search = puppy" downloads Wall with Flickr keyword search results for puppy. The advantage of this approach is that they do all the work for you to make a Flickr request and build the contents of the Wall. 2) You yourself create an RSS feed containing the data of the photo stream element and submit it to the wall.

I used technique # 1. The problem with # 1 is that when their servers fail to create a Flickr feed for you (for some unknown reason), their SWF host puts a heavy load on the processor, which interferes with the main UI thread. I completely converted the entire code base to work directly with the Flickr API, and I created the channel myself using the second technique, and the problem disappeared.

- roschler

+3
source share
1 answer

You have no control over how webbrowser controls streaming processing. If you do not want the web browser to interfere with the main stream, do not start with a web browser in the main stream.

0
source

Source: https://habr.com/ru/post/1778787/


All Articles