Our product is build on Flex, recently our customer started to suffer performance issues after upgrading their browser flash player to 30, they confirmed that with adobe flash 29 the speed is fast, but with adobe flash 30 the speed is about 3 times slower.
We already checked the forum and found below discussion, unfortunately we already checked in our product level and found we do not have getTimer(）calls which are related with this, so we are wondering if anyone encountered similar issues can help to shed some light on this. Thanks.
do you have any workers, bytearray sharing, infinite loop?
The issue here is that we can NOT reproduce it in our environment, it only happened in customer's environment, so could you please advise how to check if any workers, bytearray sharing, infinite loop and I will let my customer to help to collect? Thanks.
In customer environment, they found when the new security enhancements are disabled for our product IP Addresses within Flash v30+ the performance improves considerably(disabling EnableInsecureByteArrayShareableDomain), but we still can NOT reproduce it in our environment.
In fact, there are no any workers, bytearray sharing( invoke ByteArray API, but no calling for "shareable" property), infinite loop in our code.
See the following:
You could narrow this down by replacing EnableInsecureByteArrayShareableDomain with EventJitterMicroseconds=0 or TimerJitterMicroseconds=0. If one of those makes the problem go away, then you know that you're gated by either a Timer call or an Event handler that's getting called very fast.
I have no idea why you're only seeing this in your customer environment, and it sounds like you probably need to understand what the meaningful difference between your test environment and customer environment is.
There's no magic solution here. Use Adobe Scout in the affected environment, profile it, and look at where the performance problem is coming from. When you identify the slow code, you'll likely have your answer in terms of what needs to happen.
If you can't reproduce it, then it seems like a situation unique to the customer environment. If it were me, I'd get really specific about the configuration, and/or ask the customer for a representative virtual machine. If you're using the same OS/Browser/Flash version and the same configuration, then I'd start thinking about what's different in the Windows environment. Custom network policy settings, antivirus and user home directories on network storage all show up on a regular basis.
There probably aren't any shortcuts here. You'll need to approach it with engineering rigor.
Thanks for the update, during this period of time we continued trying to narrow down to the root causes that has caused the performance issues, we've tried Adobe Scout but failed to enable Advanced Telemetry by following the steps mentioned below:
We are wondering if you can shed some light on this? Thanks.
What do you mean by "failed to enable Advanced Telemetry"? You need to compile the content with Advanced Telemetry enabled.
If you've done that and advanced telemetry still isn't available in Scout, that would be strange. Can you point me to a publicly accessible instance that we can look at?
Mentioned in the help doc: Flash Builder 4.7 has a new ActionScript compiler option for enabling advanced telemetry, but our product need create a flex project instead of an ActionScript project, so we failed to find this option.
Yes，we tried to enable the Advanced Telemetry by following below steps, we used Flash Builder, but our project has both actionscript files and mxml files thus we open it as Flex project and do not see the option for enabling advanced telemetry, could you please guide us how to solve this? or this is not applicable to our project?
Thanks, any suggestions and comments from you will be highly appreciated and thanked.