有没有什么办法可以优化现有的SWF,以应对即将到来的视网膜显示浪潮?或者,在创建新的SWF时,有没有准备好显示视网膜的方法?据我所见和所读,主权财富基金看起来相当糟糕。
发布于 2012-07-20 12:05:30
Flex 4.6支持MultiDPIBitmapSource,这将提供一种方法来提供针对不同屏幕密度优化的位图。你可以在this link上阅读更深入的讨论。
通常,如果您的位图用作图标、徽标显示,其中动画或变换仅限于移动、平移和裁剪,并且您的位图没有缩放,那么您将获得最佳的显示效果和下降性能。在这种情况下,与位图相比,矢量资源的性能更难预测。
然而,位图并不是所有解决方案的灵丹妙药。一旦你涉及到任何旋转、失真或缩放(放大和缩小),它们就会对性能产生不利影响,这是因为系统必须进行更多的计算来重新定位每个像素,这与矢量相比涉及更多。
Stage3D也是值得研究的,但如果你主要使用2D,明智地在MultiDPIBitmapSource和矢量图形之间选择可能是一个更简单的解决方案。
发布于 2012-07-20 11:41:11
通常,您希望尽可能避免使用位图图形。如果您仅使用矢量和字体,则可以毫无问题地扩展这些内容。避免杀死CPU的诀窍是只要可行就使用cacheAsBitmap,例如,当对象不经常改变时。然后获得矢量grx的分辨率优势,并在初始渲染后获得位图grx的速度。
另一个要开始研究的工具是使用Stage3D。这一层位于Air程序的后面,并作为一个健壮的背景。真正的优势是它使用GPU,而不是CPU,这意味着你有两个处理器踢出了grx。如果您开发或使用连贯的前台和后台系统,这可以提高您的grx性能。Starling 2D似乎是一个几乎准备就绪的工具。这应该有助于简化Stage3D的许多困难领域。我还没有使用过Stage3D,所以很多都是推测。我会在更有经验的时候编辑我的答案。
编辑
@天真林的回应有一些很好的提示。它提醒我,CacheAsBitmapMatrix应该用于要旋转、缩放等但不会改变结构的对象。
https://stackoverflow.com/questions/11572116
复制相似问题