在Flash中强制进行软件渲染时,Context3D不可用

时间:2014-07-29 09:01:40

标签: actionscript-3 flash actionscript starling-framework away3d

我遇到了从GPU回退到SOFTWARE渲染的问题。 我希望.swf能够在不支持GPU渲染的机器上工作,我发现以下行强制软件渲染。在此之后,它只在编译后才能在模拟器上运行。 (IDE使用IntelliJ)。

_stage3DProxy = _stage3DManager.getFreeStage3DProxy(true);

在我做了这个改变后,我的Starling和Away3D正在使用软件渲染,我可以从Away统计数据和Starling中的踪迹中看到。

问题是.swf无法在Web或移动设备(AIR)上运行。它弹出一个错误,好像我的描述符被错误设置了......错误我得到了:

错误#2044:未处理的ErrorEvent: text =错误#3702:Context3D不可用。

渲染模式设置为“wmode = direct”,深度和模板设置为“true”。

禁用强制软件渲染后,所有内容(Starling和Away3D)都按预期工作。但是,当我强制软件渲染时,不是这样。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

发现问题。

创建stage3DProxy后,Starling和Away3D正在初始化,但是有错误的参数。配置文件(最后一个参数)的默认值设置为"基线扩展"对于Away3D和"基线"对于Starling。将这些值恢复为默认值后,stage3DProxy会自动在具有旧GPU的计算机上执行回退并使用软件进行渲染。