quake ii不是移植到.net了吗,我运行了一下比原来的差很多,确实消耗很多资源:(

解决方案 »

  1.   

    那是因为C#用了.NET的运行环境,而我们现在用的操作系统又不是.NET的操作系统,是Win32的.
    所以运行.NET的应用程序的时候就像运行Java的程序一样得先运行一个虚拟机,所以占用的内存大了很多:)
      

  2.   

    我在2003运行.NET程序,很小的一个都要20MB,真让人受不了啊
      

  3.   

    是这样的
    。net的程序就是这样的
    你用一个空窗体都是10几M
    我写一个几K 的也是20多M
    郁闷的是,我写了一个6M的程序,占用内存27M,我在调试的时候,为了方便,暂时去掉了login窗体,暂用内存量变成了17M,也就是说,我少用一个login窗体,内存就省了17M,完全不知道MS的这个东西是干什么吃的
    晕阿~~~晕阿~~~
      

  4.   

    应该这样理解。运行基于需.NET支撑的程序时必须加载.NET相关CLR环境。这个消耗对于大程序与小程序而言相差不大,再加载了.NET环境后额外的消耗才是程序所真正消耗的。因此实际上,第一次运行时要加载这个环境,速度会慢些,但对大程序而言也同样需要这样的消耗。第一次加载完成后,对某些代码要进行实时编译,这也要消耗资源,便这些都完成后,速度会提升。但是.NET环境会占据一部分内存,这对大程序和小程序都是相同的。所以对小程序而言用户可能接受不了,哇这么小一点代码的程序占据了这么大的空间!另外,对于WinForm程序,微软为了提高这部分程序的启动速度,提供了一个小工具,NGEN.EXE,可以到开发文档当中找它的用法。
      

  5.   

    却实是,可是各位认为C#以后能作跨平台开发吗??
    还是只有在MS的操作系统上,比如WINCE2003,还是以后很多操作系统会配备.NET FRAMEWORKS,移动设备配备精简版!
      

  6.   

    比较耗内存和CPU, .net是推动下一轮机器升级换代的原动力!