zoukankan      html  css  js  c++  java
  • 关于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更省电吧。

  • 相关阅读:
    洛谷 P1464 Function(简单记忆化)
    LightOJ 1422 Halloween Costumes (区间DP)
    POJ 3280 Cheapest Palindrome(区间DP)
    POJ 2955 Brackets(区间DP)
    洛谷 P1880 [NOI1995]石子合并(区间DP)
    POJ 3641 Pseudoprime numbers(快速幂)
    POJ 2142 The Balance(exgcd)
    POJ 1995 Raising Modulo Numbers(快速幂)
    POJ 2115 C Looooops(exgcd)
    ZOJ 1002 Fire Net(dfs)
  • 原文地址:https://www.cnblogs.com/crazylights/p/1876924.html
Copyright © 2011-2022 走看看