By:童年

刚开始学习Starling框架,遇到了不少问题,苦于无解,向Starling中文交流群求助。问题得到一 一解决。在这里非常感谢他们的热心回答。这篇博客就当作我在学习过程中遇到的问题的的罗列总结吧。希望对各位有所帮助,文章中如果有不对的地方,非常欢迎和感谢能够留言指出。

  • 问题1:为什么我在调试的时候,Console(控制台)输出的信息是    

[Starling] Initialization complete.

[Starling] Display Driver:Software Hw_disabled=oldDriver (Direct blitting)

出现如上的信息,说明Starling框架并没有起到作用,而是根据内部的SwiftShader(Transgaming)的的软件回退引擎,采用software模式运行。

这时候就要检查下自己电脑的显卡了。关于显卡,先补充点知识,来自网上:

  • 集成显卡是将显示芯片、显存及其相关电路都做在主板上,与主板融为一体;集成显卡的显示芯片有单独的,但现在大部分都集成在主板的北桥芯片中;一些主板集成的显卡也在主板上单独安装了显存,但其容量较小,集成显卡的显示效果与处理性能相对较弱,不能对显卡进行硬件升级,但可以通过CMOS调节频率或刷入新BIOS文件实现软件升级来挖掘显示芯片的潜能;集成显卡的优点是功耗低、发热量小、部分集成显卡的性能已经可以媲美入门级的独立显卡,所以不用花费额外的资金购买显卡。

  • 独立显卡是指将显示芯片、显存及其相关电路单独做在一块电路板上,自成一体而作为一块独立的板卡存在,它需占用主板的扩展插槽(ISA、PCI、AGP或PCI-E。独立显卡单独安装有显存,一般不占用系统内存,在技术上也较集成显卡先进得多,比集成显卡能够得到更好的显示效果和性能,容易进行显卡的硬件升级;其缺点是系统功耗有所加大,发热量也较大,需额外花费购买显卡的资金。 独立显卡成独立的板卡存在,需要插在主板的相应接口上,独立显卡具备单独的显存,不占用系统内存,而且技术上领先于集成显卡,能够提供更好的显示效果和运行性能。

  • GPU(类似于主板的CPU) 
    全称是Graphic Processing Unit,中文翻译为"图形处理器"。NVIDIA公司在发布GeForce 256图形处理芯片时首先提出的概念。GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作,尤其是在3D图形处理时。GPU所采用的核心技术有硬件T&L(几何转换和光照处理)、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等,而硬件T&L技术可以说是GPU的标志。GPU的生产主要由nVidia与ATI两家厂商生产。

  • DirectX并不是一个单纯的图形API,它是由微软公司开发的用途广泛的API,它包含有Direct Graphics(Direct 3D Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects等多个组件,它提供了一整套的多媒体接口方案。只是其在3D图形方面的优秀表现,让它的其它方面显得暗淡无光。DirectX开发之初是为了弥补Windows 3.1系统对图形、声音处理能力的不足,而今已发展成为对整个多媒体系统的各个方面都有决定性影响的接口。最新版本为DirectX 10。

  • OpenGL是OpenGraphicsLib的缩写,是一套三维图形处理库,也是该领域的工业标准。计算机三维图形是指将用数据描述的三维空间通过计算转换成二维图像并显示或打印出来的技术。OpenGL就是支持这种转换的程序库,它源于SGI公司为其图形工作站开发的IRIS GL,在跨平台移植过程中发展成为OpenGL。SGI在1992年7月发布1.0版,后成为工业标准,由成立于1992年的独立财团OpenGL Architecture Review Board (ARB)控制。SGI等ARB成员以投票方式产生标准,并制成规范文档(Specification)公布,各软硬件厂商据此开发自己系统上的实现。只有通过了ARB规范全部测试的实现才能称为OpenGL。1995年12月ARB批准了1.1版本,最新版规范是在SIGGRAPH2007公布的OpenGL 3.0。

确保你电脑的显卡支持DirectX或者OpenGL,如果你的机子显卡是集成显卡的话,可能不支持;如果有独立显卡,确保当前开启了高性能GPU。由于我使用的笔记本有着双显卡。

一个是AMD的独显,一个是英特尔高清显卡系列属于集成显卡。当时在FlashBuilder下编码调试的时候,谁知道我的笔记本开启的是省电GPU模式,控制台输出是software模式。如果读者遇到类似情况,可以按照如下开启高性能GPU模式,切换到独立显卡。

图1

右击桌面,出现图1,选择显示卡属性。

图2

在电源选项中选择可切换显卡

图3

选择高性能GPU,OK。过个几秒,等待系统切换。

童年注:

高性能GPU:就是切换到了独立显卡,但相对要耗电一些,但带来的是性能上的提高。

省电GPU:集成显卡,在集成显卡模式下,要省电一些。如果在没有外接电源只有笔记本电池的情况下,开启这个模式可以省电,延长续航时间。

切换完毕后,再次回到FlashBuilder中,调试看控制台信息:

[Starling] Initialization complete.

[Starling] Display Driver:DirectX9 (Direct blitting)

显然Starling的GPU加速已经成功开启。

  • 问题2:为什么我调试的时候舞台上没有任何东西,但是在bin-debug文件夹下打开我的swf文件却能看到东西呢?

如果你调试采用的是浏览器调试,不是swf直接调试,也就是你在项目属性里的编译器选项里面勾选了HTML包装器,使用的是系统默认浏览器或者IE浏览器,确保你的浏览器安装了debug版本。

如何知道我是否安装呢?

用这个网址测试。 http://www.flashplayerversion.com/

如果是Yes,你调试仍然看不见舞台上的东西,看看你的入口文件中是否有

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

如果有的话注释掉,再次调试测试,应该就可以看见了。

如果出现

的话,打开html包装器文件夹也就是html-template文件夹,用文本编辑器打开html-template.html文件,在js里面的params加入如下一行

params.wmode = "direct";

就像如下:

var params = {};
params.quality = "high";
params.bgcolor = "${bgcolor}";
params.allowscriptaccess = "sameDomain";
params.allowfullscreen = "true";
params.wmode = "direct";
  • 问题3:出现了如下错误

Error:Error #3669: 输入大小错误

at flash.display3D::Context3D/configureBackBuffer( )

   在浏览器下,SWFOBJECT嵌入swf的时候,有瞬间的stage的width和height是0导致的,而 stage.scaleMode  = StageScaleMode.NO_SCALE这句话会瞬间导致stage的width和height为0。

   那怎么解决?

   方法1:不用html包装器,在编译器里面不勾选

            

   方法2:在使用html包装器的情况下,可以延迟初始化starling。

private var mStarling:Starling;
public function StartUp():void{stage.scaleMode = StageScaleMode.NO_SCALE;stage.align = StageAlign.TOP_LEFT;setTimeout(initStarling,1000);
}private function initStarling():void{mStarling = new Starling(Game,stage);mStarling.antiAliasing = 1;mStarling.start();
}

setTimeout(initStarling,1000);这是Flash预留了1秒处理舞台尺寸,然后处理初始化starling函数。

方法3:在使用html包装器的情况下,加入舞台重置尺寸事件的侦听来处理。

public function StartUp()
{stage.align = StageAlign.TOP_LEFT;stage.scaleMode = StageScaleMode.NO_SCALE;if (stage.stageWidth>0 && stage.stageHeight>0){start();}else{stage.addEventListener(Event.RESIZE,onResize);}
}
private function onResize(e:Event):void
{if (stage.stageWidth>0 && stage.stageHeight>0){stage.removeEventListener(Event.RESIZE,onResize);start();
}
}
public function start():void{starlingEngin = new Starling(Game, stage);starlingEngin.antiAliasing = 1;starlingEngin.start();
}

群里网友也提到了用Preloader预加载处理窗口大小,读者可以去尝试下。

如有问题,追补下一篇。学习中。

如果文章中有不对的地方,请指出来,以免误导。

转载于:https://my.oschina.net/game007/blog/92759

FlashBuilder环境下使用Starling出现的问题收集整理相关推荐

  1. Web环境下使用Starling出现的问题收集整理

    FlashBuilder环境下使用Starling出现的问题收集整理 刚开始学习Starling框架,遇到了不少问题,苦于无解,向Starling中文交流群求助.问题得到一 一解决.在这里非常感谢他们 ...

  2. starling html文本,FlashCS6环境下使用Starling

    FlashCS6自带FlashPlayer11和高版本的FlexSDK,使用Starling不需要额外配置什么,在项目中只需要把Starling类包正确导入就可以了. 但要注意一点,测试影片 当选择& ...

  3. linux svn更换数据仓库,Linux环境下SVN数据仓库迁移

    上一篇文章介绍了Windows环境下SVN数据的备份与还原,这篇文章介绍下Linux环境下数据迁移. 一准备工作 1安装环境 1 centOS7 2可上网 2软件需求 1 winSCP 2 PuTTy ...

  4. UIPopoverController在ARC环境下用法注意

    在ARC环境下如果便用以下代码: [cpp] view plaincopyprint? UIViewController *viewTwo; viewTwo = [[ViewTwo alloc] in ...

  5. Linux环境下的网络编程

    本文介绍了在Linux环境下的socket编程常用函数用法及socket编程的一般规则和客户/服务器模型的编程应注意的事项和常遇问题的解决方法,并举了具体代  码实例.要理解本文所谈的技术问题需要读者 ...

  6. 动态环境下的SLAM:DynaSLAM 论文学习笔记

    动态环境下的SLAM:DynaSLAM 论文学习笔记 这篇文章 论文摘要 系统流程 相关环节的实现方法 神经网络检测图中动态物体(Mask R-CNN) Low-Cost Tracking 使用多视图 ...

  7. Ubuntu环境下使用gnuplot由数据表绘制曲线图

    在ubuntu中安装NS-3之后,编译DASH仿真器Simulation,在由自适应算法得到仿真结果后可以直接导出数据表,包含仿真时间.每次跳转的视频切片的BitRate等等,这时候可以在Linux环 ...

  8. 大规模环境下基于语义直方图的多机器人实时全局定位图匹配

    文章:Semantic Histogram Based Graph Matching for Real-Time Multi-Robot Global Localization in Large Sc ...

  9. wamp环境下安装imagick扩展

    先上图,如下是安装成功后的phpinfo()界面: 安装步骤: 1.先确定安装版本,比如我的的php : php7.0.12  x86 ts 那么就需要三方版本 要一致:imagick软件本身( 如x ...

  10. resin-pro-4.0.34 服務器在windows环境下的配置

    resin-pro-4.0.34 服務器在windows环境下的配置 (轉載请注明作者:icelong) 到caucho網站上http://www.caucho.com/download/ 下載 re ...

最新文章

  1. linux内核arch目录,各个处理器的介绍
  2. 常见的复杂网络模型都有哪些?
  3. VTK:图片之RTAnalyticSource
  4. 数据结构与算法17-表插入排序
  5. JS实现各种复制到剪贴板
  6. arthas用的好好的,写个lambda表达式就跪了?该咋解决?
  7. 工作中99%能用到的git命令
  8. ubuntu vim保存退出命令_【学员分享】程序员效率神器,最常用VIM插件安装大全...
  9. vscode不能跳转_vscode-goto-node-modules 一个快速定位 node 模块的 vscode 插件
  10. 机器学习之支持向量机算法(一)
  11. 在ubuntu16上新创建了一个用户,通过xrdp远程连接时出现灰屏,鼠标是“x”号
  12. CitrixVDI新版动手实验手册
  13. 【气温预测】基于matlab BP神经网络气温预测【含Matlab源码 714期】
  14. 用vb6.0编写简易计算机,vb小程序(用vb编写简单小程序实例)
  15. 自娱自乐的FreeRTOS——config.h配置文件详解
  16. xp如何添加桌面计算机回收站,WinXP如何找到回收站图标?
  17. 两招让你成为牛X的T型人才
  18. gboard包名_如何在Android的Gboard键盘中搜索表情符号和GIF
  19. 机器学习中的数学原理——过拟合、正则化与惩罚函数
  20. 了解Windows 10中的新开始菜单

热门文章

  1. html注册页面代码实现案例,H5制作一个注册页面的代码实例
  2. 【网络-实验】rip最大有效跳数15
  3. vray渲染里服务器信息,VRay分布式渲染详细介绍
  4. 晶振封装(绝对实用)
  5. 新手如何备考GRE考试作文
  6. 计算机组成原理试题和答案2017,【2017年整理】计算机组成原理试题及答案9.doc...
  7. Spring整合Quartz
  8. 记录4 最近贺题时做的题 cf611e,cf873f,cf264d,cf1320d,cf1438c,hdu6833,hdu3602,cf1187g,cf1051e,cf925d,cf840c,etc
  9. 【IT之路】LoadRunner系列-Win7 64bit下搭建Loadrunner11破解版
  10. pip快速下载python包