`
473687880
  • 浏览: 535603 次
文章分类
社区版块
存档分类
最新评论

wp8下压缩纹理的使用(dds)

 
阅读更多

个人认为,既然手机设备支持wp8支持dx11,那么dds的压缩纹理必然是被支持的。不过依然不保证完全如此。希望看此文章的同仁留意。

微软wp系统在内存管理上有一个不同于ios和android的地方,那就是给程序预先分配的内存是有限的。正常情况是150mb,通过设置一些标志可以允许180mb或者300mb。程序分配的内存超过限额就会分配失败抛出异常,即便这个时候手机剩余内存还剩七八百兆。所以买低端手机的劣势就是很多游戏不是没有,而是你看不到,因为那些游戏因为安全起见,申请了300mb的内存,那么只有512mb内存的手机可能就看不到这个应用了,即便它可以在这个手机上跑起来。

反过来,对游戏开发而言,内存控制就变得更加重要了。 不过这里还是要吐槽一下,wp8使用native c++进行开发的话,没有任何途径可以获取内存使用情况进行分析。一没有工具,二没有系统api。 只能靠程序员给力些了。

比如我的卡牌游戏,一开始分配内存可能达到200mb,那么就经常性的崩溃。后面使用dds的压缩纹理后,就没有出现崩溃情况了。理论上说dds跟pvrtc4一样都是4个字节表示一个像素,所以使用dds的游戏在wp8上面的运行内存情况应该跟使用pvrtc4在ios上面运行一样。

首先说转换工具,我找了半天终于找到个靠谱的工具。Nvida Texture Tools,这个有工具有代码。不过默认情况下程序不识别png jpg图片,后面我重新用源代码编译了一份。

之所以要使用这个工具而不是市面上大多数图片转换工具是因为dds图片的压缩纹理格式分很多种,常见的有dxt1 dxt3 dxt5,常用的是dxt3,dxt1色彩不足,而dxt5不是所有设备都支持,比如我的lumia920,使用dx api检测时就不支持dxt5。

较新的cocos2d-x代码里面已经包含了s3tc压缩纹理的支持。dds的压缩纹理格式就是s3tc。读取纹理可以直接使用,而不需要特别写初始化代码了(比如 CreateDDSTextureFromFile就没有必要了)

分享到:
评论

相关推荐

    OpenGL载入DDS压缩纹理示例

    本示例主要探讨如何使用OpenGL结合NV_DDS库来加载并使用DDS压缩纹理。NV_DDS库是NVIDIA提供的一种工具,能够帮助开发者方便地读取和处理DDS文件,其中包括了对纹理压缩格式如DXT1、DXT3和DXT5的支持,这些压缩格式在...

    dds格式纹理文件

    这些扩展允许OpenGL上下文解码并应用DDS文件中的压缩纹理,极大地提高了纹理加载效率,尤其是在资源有限的设备上。 DDS文件的应用不仅仅局限于游戏开发。在3D建模、虚拟现实、图形设计等多个领域,它们都是常用的...

    使用遗传 算法压缩、解压缩和转换纹理文件。支持KTX、DDS、ETC2、BC6/BC7等_c语言_代码_下载

    使用遗传算法压缩、解压缩和转换纹理文件。支持 KTX 和 DDS 容器,以及 DXT 系列、ETC1/2、BC6/BC7 等纹理格式。包含图形用户界面(专为 Linux 设计)。优点是通用性和可扩展性,缺点是与不太通用的纹理压缩器相比...

    GLI纹理文件TGA DDS读取开源程序包

    基于MIT许可的读取TGA DDS图片文件的程序包,,可以用于三维软件的纹理贴图文件的读取

    DDS图片缩略图显示工具DDS_viewer

    DDS格式的另一个优势在于其直接与GPU交互的能力,使得在游戏和实时渲染应用中加载和使用DDS纹理更为高效。DDS Viewer可能也具备了一些基本的编辑功能,如裁剪、调整颜色等,方便用户进行简单的图像处理。 总结来说...

    dds批量转换png,jpg.BMPTIF

    这种格式通常包含压缩或未压缩的像素数据,可以存储多级 mipmaps,用于高效的纹理渲染。 描述中提到的“网站找了好久才找到 不过要安装一下噢 非常方便 共享一下”,暗示这是一个在线资源或软件下载链接,可能是一...

    DDS缩略图预览

    DDS文件通常包含颜色数据、压缩纹理、MIP映射级别和其他表面信息,使得游戏和应用程序能快速高效地加载和处理图像。 DDS缩略图预览功能是针对这种特殊文件格式而设计的,它允许用户在不打开DDS文件的情况下,通过...

    .dds格式纹理文件查看器

    .dds格式纹理文件查看器,可以查看、定位、缩放和调整通道,通过一个软件即可轻松查看.dds格式的纹理文件,对三维渲染,游戏制作的效率提升很有意义。

    DDS格式查看器

    DDS格式支持多种类型的纹理数据,包括但不限于普通的2D纹理、立方体贴图、多层纹理、MIP贴图以及包含压缩纹理的数据。DDS文件可以包含颜色信息、法线信息、高度信息以及其他表面特性,这使得它在3D场景渲染中非常...

    8.11压缩纹理格式1

    通过加载DDS文件,我们可以直接创建使用压缩格式的ShaderResourceView。 总之,压缩纹理格式是优化GPU内存使用和提升图形性能的有效手段。根据不同的应用需求,选择合适的压缩格式至关重要,它可以帮助我们在保持...

    ps 插件DDS ps打开dds插件

    在图像处理领域,Photoshop(简称PS)是一款广泛使用的专业图像编辑软件,它支持众多的图像格式,但默认情况下并不包含对DirectDraw Surface (DDS) 文件格式的支持。DDS 是一种常用的纹理压缩格式,常见于游戏开发和...

    texgenpack:具有KTX和DDS支持的纹理压缩和转换程序。-开源

    支持的图像格式为PNG,而对于纹理,则支持使用ETC1,ETC2,DXT1 / 3/5或BPTC(BC7)纹理压缩的KTX,PKM和DDS。 还支持几种未压缩的纹理格式。 该程序需要安装libfgen,它也可以在SourceForge上使用。

    DDS图片查看

    8. **游戏资源管理**:在大型游戏项目中,DDS格式因其效率而被广泛采用,帮助减小游戏文件大小,优化资源加载和内存使用。 9. **跨平台兼容性**:虽然DDS主要与Windows和DirectX关联,但通过各种库和插件,如OpenGL...

    PhotoShop CS6 64位 DDS插件

    总的来说,安装并使用Photoshop CS6 64位 DDS插件可以极大地方便游戏开发者和图形设计师对DDS纹理的处理,提高工作效率,同时保证高质量的图像输出。在64位操作系统上运行此插件,可以充分利用系统资源,实现更流畅...

    DDS文件查看器

    5. 压缩解压:由于DDS文件可能使用了特定的压缩算法,查看器需要有能力解压这些数据,以便用户可以正确查看图像。 6. 编辑功能:一些高级的DDS查看器可能还包含基本的编辑功能,如裁剪、旋转、色彩调整等,使得用户...

    java读取DDS图片文件类库

    dds是DirectDraw Surface的缩写,实际上,它是DirectX纹理压缩(DirectX Texture Compression,简称DXTC)的产物。DXTC减少了纹理内存消耗的50%甚至更多,有3种DXTC的格式可供使用,它们分别是DXT1,DXT3和DXT5。 在...

    在VS中使用DDS进行通信

    通过这个项目,开发者可以学习如何在VS环境中配置和使用DDS库,理解publish-subscribe模式的实现,以及如何利用QT来设计用户友好的图形界面。同时,掌握DDS的QoS策略对于优化系统性能和满足不同应用场景的需求至关...

    dds图片查看器 汉化版

    使用DDS图片查看器汉化版,用户可以轻松查看和管理他们的DDS资源,无论是游戏开发中的纹理文件还是个人创作的图形作品,都能得到便捷的处理。这款工具对于那些需要频繁处理DDS格式的用户来说,无疑是一个实用的辅助...

    dds2pngdds格式批量转换png

    DDS文件可以存储压缩或未压缩的纹理数据,包括颜色、深度、法线贴图、环境映射等信息。在游戏开发、3D建模和其他图形密集型应用中,DDS格式因其高效的数据存储和加载速度而被广泛采用。 然而,有时我们需要将DDS...

    dds文件怎么打开.docx

    DDS(DirectX Texture Compression)是一种格式,用于压缩和存储纹理图像数据。它广泛应用于3D游戏和软件中,用于存储游戏贴图和纹理图像。DDS格式的文件可以被压缩,以减少存储空间和提高加载速度。 二、DDS文件的...

Global site tag (gtag.js) - Google Analytics