为何Ruffle播放该SWF文件的效果优于Adobe官方Flash Player?
关于Ruffle播放该Flash文件效果优于官方版本的原因解答
- 官方Flash Player后期安全限制拦截了正常运行逻辑
2020年Flash停服前发布的最终版官方播放器,新增了多重限制逻辑:一是内置时间炸弹,2021年1月12日之后会主动拦截部分内容运行;二是大幅收紧了安全沙箱规则,默认拦截本地文件的外部资源请求、非白名单域名的跨域资源调用。你测试的BBC内容为Flash 8/ActionScript 2时期开发的老旧交互内容,肌肉模块需要动态加载外部子资源,这类调用会被官方Flash的安全策略在底层直接静默拦截,不会抛到ActionScript运行时的错误栈中,所以才会出现白屏、调试版也无报错的情况。 - Ruffle针对老旧Flash内容做了专门兼容优化
Ruffle是开源第三方Flash运行时,没有内置官方的时间炸弹,也没有强制启用针对老旧内容不友好的严格安全策略,同时开发团队专门针对早年普及度很高的ActionScript 2 API做了大量适配补全。而Adobe在Flash后期的维护重心完全转向ActionScript 3,早已停止对AS2相关兼容问题的修复,反而后期新增的各类限制进一步影响了老内容的正常运行,因此Ruffle的运行效果会优于官方版本。
内容的提问来源于stack exchange,提问作者Taf04k
相关产品推荐
相关产品推荐

