• 关于WP7开发,随笔


    1。在pc上调试比模拟器愉快的多,也可以更容易的发布小样给别人看。

    需同时保持pc和wp7的两份代码,随时保持相容性,可以用copy project来简单完成。

    我就是有相当一段时间没有保持代码相容性,结果前些天移植wp7的时候要重构一些代码。

    PC端用的是dotnet framework 4 client profile,当然也可以不带 client profile

    wp7端用的是 dotnet framework compact 3.5

    曾几何时WM端的应用在pc上可以直接执行调试,现在已经行不通了,wp7项目编译时只是链接了一堆空架子dll,里面没有执行代码。

    我以前没有注意到compact的限制,这会让你头疼致死的,早点关注起来。

    2。完全告别content

    content在不同平台要分别编译,最关键是是把资源也混合在编译过程中,在项目扩大时完全不可接受。

    目前我已经建立的声音、贴图、模型、字体的非content方案

    由于compact不支持二进制序列化,切记直接操作stream

    3。资源和执行文件的分别发布

    目前打包成一个xap文件的形式,而且没有发现支持分多个包,势必造成软件更新的代价庞大。让资源部分通过微软商城去更新下载

    资源部分采用独立的更新策略,随用随下,变化部分再下载。

    也可以提供更好的用户体验,不用长时间的加载,提供一个后台下载、加载线程去处理

    4。一些节约内存的策略

    贴图加载时压缩,Reach也支持DXT1 3 5 三种压缩格式,XNA本身的spritefont就用DX3压缩的,需要手写压缩算法。

    模型实例管理,防止重复建立模型副本

    字体要用动态词频调整策略,这个有点儿麻烦,动态词频就会消耗更多cpu,静态缓存就会消耗更多内存,这是个需要取舍的问题。但是显然内存是更大的瓶颈,让我们寄希望于cpu更省电吧。

  • 相关阅读:
    深入Spring Security魔幻山谷-获取认证机制核心原理讲解
    灵魂拷问:你真的理解System.out.println()打印原理吗?
    解决分布式React前端在开发环境的跨域问题
    “我以为”与“实际上”
    前端:如何让background背景图片进行CSS自适应
    VSCode如何设置Vue前端的debug调试
    【JDBC】总结
    【JDBC第9章】Apache-DBUtils实现CRUD操作
    【JDBC第8章】数据库连接池
    【JDBC第7章】DAO及相关实现类
  • 原文地址:https://www.cnblogs.com/crazylights/p/1876924.html
Copyright © 2020-2023  润新知