none
Image size CE6 vs CE7 RRS feed

  • Question

  • Hi all,

    this is just a general question about the image sizes for WinCE. I have a WinCE6 (R3) BSP for a device that I spent some time over the weekend porting to CE7. If I create a Release CE6 image the size is 38MB, and when I create a Release CE7 image the size is now 57MB. Debug has grown from 68MB to a whopping 122MB. This is probably not an issue for most but our device only ships with 128MB RAM, so creating a debug build is pretty much out of the question.

    I have selected almost the same catalog items for each build, in fact in my CE7 build I am not including some 3rd party drivers that I have included in CE6 as I haven't looked at porting them yet.

    Is this an expected result, ie having a much larger image from CE6 to CE7? Or have I configured something incorrectly?


    Cheers,

    Barak

    Tuesday, April 19, 2011 7:53 AM

All replies

  • You're not the only one who has noticed and also not the only one for
    who this is a major problem...
     
    A couple of MVPs (me included) are trying to get an answer from
    Microsoft about this. We have seen that the default page alignment for
    CE7 is now 4K instead of 512 bytes, so that adds some size to especially
    smaller modules but the answer from MS on that was that romimage is
    optimized for placing modules so the alignment increase should not
    affect the NK's size (much).
     
    There must be something else that is causing this huge increase. Sure,
    there is some more functionality in CE7 but nothing that justifies a x2
    and sometimes even a x21 (see ActiveSync!) increase in size.
     
    To be continued...
     

    Good luck,

    Michel Verhagen, eMVP
    Check out my blog: http://guruce.com/blog

    GuruCE
    Microsoft Embedded Partner
    http://guruce.com
    Consultancy, training and development services.
    Tuesday, April 19, 2011 9:17 AM
    Moderator
  • I finally got an image working to the desktop today, I plug in the USB, see the new device wizard and then a dialog appears saying that the system is lacking memory and I need to free up resources... Activesync must use up a fair bit! Nothing else was really running but the OS. Not only that but our screen is only 272x480 so I couldn't even get rid of the dialog that was displayed as it wouldn't allow me to move it around the screen...

    Seems like before we could use CE7 we'd need to make a hardware change to increase RAM.

    Wednesday, April 20, 2011 8:31 AM
  • Yep, in my experiments it turned out ActiveSync was the worst. In WEC7 ActiveSync blew up 21x the size compared to the ActiveSync component in CE 6.0 R3.

     

    Further experimentation has shown the alignment issue is not the cause of the increase in nk size. It does have an effect on memory usage (and better performance) though, but the main reason for the bloated NK's generated by WEC7 seems to be dependencies.

     

    On a small kernel with only a few components selected WEC7 pulls in almost 11 MB of extra dependent components. The image in CE 6.0 R3 was 8.3 MB and the WEC7 image with the same components selected was 19.2 MB (an increase of ~11 MB).

     

    Here's some more results of my experiments:

     

    WEC7 : 6.6 MB for Windows Media Audio x3.3

    CE6R3: 2.0 MB for Windows Media Audio

     

    WEC7 : 4.2 MB for ActiveSync x21

    CE6R3: 0.2 MB for ActiveSync

     

    WEC7 : 5.9 MB for Silverlight x2.3

    CE6R3: 2.6 MB for Silverlight

     

    WEC7 : 4.1 MB for .NET CF 3.5 x1.0

    CE6R3: 4.0 MB for .NET CF 3.5

     

    WEC7 : 5.8 MB for IE7 x0.8

    CE6R3: 7.4 MB for IE7

     

    Microsoft is looking into these issues. I'll update here or on my blog when I hear more...


    Good luck,

    Michel Verhagen, eMVP
    Check out my blog: http://guruce.com/blog

    GuruCE
    Microsoft Embedded Partner
    http://guruce.com
    Consultancy, training and development services.
    Wednesday, April 20, 2011 10:11 AM
    Moderator
  • I hope MS is looking fast for this.

    Another problem with dependencies is CE license.
    I ahve tried to create a imgae which fulfills CE7NR or C7E but it is not possible.
    At the moment I include StandardShell a lot of other components are included which are not in C7E.

    Hopefully MS update EC7 fast.

    Regards
    Holger

    Wednesday, April 20, 2011 10:59 AM