话说WPF在XP上运行十分艰难,十分缓慢。各位有没有什么好的解决方案??除了换WinForm或者Flex重做以外。。我朋友说一朵鲜花你非要往牛粪上插。。我想请教大家,有没有给牛粪美容的方案??

解决方案 »

  1.   

    直接运行exe文件好像就不慢了,我以前也遇到过
      

  2.   

    我也同意你朋友的说法,呵呵,
    我一直以为WPF程序只能在Vista或Win7下跑呢
      

  3.   

    个人觉得这个wpf本就不是为xp而生的
      

  4.   

    我的办法很简单……
    判断一下版本信息,如果对方使用的是XP的话,在页面显示一行晃瞎他钛合金狗眼的大字:你丫的,什么年代了,还用XP?2011了,春哥都快过气了。换win7吧你!
      

  5.   

    没有好的解决办法,唯一的办法就是转到非托管代码,如Delphi,C++
      

  6.   

    除非应用3D,说实话我看不出WPF比起Silverlight强在什么地方。当然也要看你的具体应用了,如果确实是对操作系统服务很依赖的应用,那又另说。
      

  7.   

    如果你的WPF程序在XP上运行缓慢,你确信同样这台机器,假设装Win7再运行WPF的话就能快一些?因为我有时候也要做WPF程序,而且用户的电脑既有Win7又有XP,但是无论我自己的测试还是用户的反馈,都没有迹象表明同样一个WPF程序在XP上运行明显比Win7慢。而且再次之前请确保你的XP的显卡硬件加速是打开的。因为假如这一项是打开的话,WPF能充分利用上硬件加速。
    等你有了明确的测试结果后我们再继续讨论。在你的这个测试结果没出来之前我只能假定你的WPF程序在Win7下也好不到哪里去。
    假如你的WPF程序本身就写得不太好所以速度超级慢,那跟Win7或者XP是没有关系的。
      

  8.   


    你脑袋秀逗了吧,居然拿WPF和Silverlight比。WPF 和 Silverlight 不存在谁比谁好的问题,它们本质上本来就是同一种技术,只不过WPF是for Desktop Application,Silverlight 是 for Web Application。
      

  9.   

    你有装显卡驱动吗?以前做过一个  在服务器win2003上跑(集成显卡,无驱动,巨慢无比)
    换了个有显卡的电脑后 ,明显流畅了
      

  10.   

    我擦你个东西南北,玩文字游戏是吧?
    谁说WPF不能for Web App了?XBAP不行吗?
    谁说Silverlight不能for Desktop了? OOB是摆设吗?
    Silverlight相关的重要内容之一RIA Services知道吧?你倒是用WPF弄个RIA Services应用试试。
    什么本质上一样!现在更不一样了!你倒是用WPF给我做个Windows Phone应用看看!这就是JB毛的文字游戏。我巨讨厌你的回复,就像你照镜子一样,你怎样来,我怎样回。
      

  11.   

    WPF和Silverlight,他们的底层有很多交集,而他们的应用领域则有较大的区别。
    不错WPF也能做XBAP,Silverlight也有OOB,但是WPF主要是用来做什么的,Silverlight又主要是用来做什么的,这个我不必说了吧。你看不出WPF比起Silverlight强在什么地方。嗯,不错,你很有才。
    你怎么不说你看不出MFC比jQuery强在什么地方?
      

  12.   

    好吧,我还是说的客气点吧。也许我们看问题的角度不同。我不是纸上谈兵,算是我个人经验之谈。wpf/silverlight的关系不用你提醒我,你说的书本上都有,我在Silverlight区的排名也不算低。我在这方面MVVM, Prism, MEF, RIA Services都玩了一年多了。说不上什么大应用,不过在我们单位内部的业务方面的应用winform->wpf->asp.net都实施过,最后选定了silverlight。如果仅从这四种技术上选择,我会把wpf放在最后面。部署问题肯定是个主要考虑因素。如果要兼顾Rich Interactivity,客户端的用户体验一致,除非是非要用到wpf原生支持的3D,我是不会考虑用wpf的。silverlight是最折衷,最佳的方式。至少so far.另外,你知道silverlight的前途吗?也许它只剩下windows phone这一个战场了。WPF?呵,也许吧,它很有可能随着win8 metro这个趋势而走向没落……
      

  13.   

    没有用过wpf,但是感觉可能是硬件的问题吧。
      

  14.   

    唯一能想到的解决方案就是换个人做。
    WPF做的客户端我们公司也给人用了两年多了,客户的操作系统xp和win7都有,性能上没有发觉明显的差异。
      

  15.   

    wpf性能是比winform性能差点,不过也不至于像楼主说的那样慢那么多啊。
      

  16.   

    WPF 是好东西啊!  我就玩了几次!支持2D  3D绘图啊! winform不支持!好东西有好处也有坏处的。不是十全十美的。  
      

  17.   


    看得出你也是WPF/Silverlight的老手。而我也不是菜鸟了。我想我们的分歧可能仅仅是看问题的角度不同吧。我平时用WPF主要是用来开发我们的一个产品,这个产品需要和大量的本地资源交互,需要100%地在本地运行,需要和硬件设备打交道,需要支持键盘、鼠标、触摸屏、手写笔、扫描仪等全套输入设备,需要和本地的其他几个应用程序紧密集成。我相信Silverlight OOB也有办法实现我们要的这些功能,但是一定会很别扭,不如我直接用WPF实现得好、实现得快。我们的产品有点像Visual Studio,其实也是个开发工具,用户通过我们的这个产品,进行所谓“图形化编程”,来自动生成他们最终需要的本地或者嵌入式应用程序。我所列出来的这些我们所需要的特性,其中有一些是WPF和Silverlight都能实现,但也有一些是Silverlight的弱项,虽然也能实现,但和WPF比不占优势。你既然是老手了,应该了解吧。可能你做的东西比较象一个website/web servicce的前端展现,所以silverlight对你足够了。但很遗憾,silverlight对我们来说不是最好的选择。另外关于WPF与Silverlight的关系,别忘了Silverlight的一个内部代号:WPF/E
    WPF与Silverlight本是同宗,由于面向领域的不同暂时分为两个分支,很有可能有一天这两个分支又会合在一起成为一个统一的分支。
      

  18.   

    xp上还是用winform吧,你用什么技术实现客户才不会关心,关键是产品到位,客户满意,钱进腰包,维护不吃力。
      

  19.   


    关于部署,我们team表示毫无压力。我们是一家跨国航空航天制造企业,在几十个国家拥有十万以上的员工,我们的产品需要在北京、上海、美国Phoenix和Redmond、印度Bangalor、捷克Prague等数十个site部署,我们用WPF,我们的产品通过ClickOnce部署、自动升级。我们对部署的要求远高于一般的企业,但我们的WPF开发小组一点压力也没有,用户也从未就部署问题提出过抱怨。
      

  20.   

    只能说WPF太先进了,XP跟不上。
    一朵鲜花插牛粪上,是你情我愿的事情,怨不得人。
    除非鲜花换插花瓶,与牛粪配对的是什么花啊?
      

  21.   


    我推荐你看一篇文章:
    WPF对决Silverlight:为项目选择最佳技术
    http://www.infoq.com/cn/news/2010/06/WPF-vs-Silverlight
      

  22.   


    XP并非跟不上。我猜测楼主的问题的根源在于:
    1) 显卡驱动不合适,不能充分发挥硬件的性能。
    2) 显卡的硬件加速模式未开启。WPF和WinForm相比,在图形渲染、矢量输出方面做了很多增强,但是性能上并没有太大损失。为什么性能没有太大损失?全靠硬件加速撑着呗。如果没有硬件加速,没有GPU的有力支持,WPF的性能当然是急转直下了。这个跟XP没有关系,既使在Win7/Win8上,如果你不开启硬件加速,WPF的性能照样会很差。
      

  23.   

    1.看.NET平台,如果是.NET 3.0,性能较.NET 3.5 SP1,.NET 4要差一些
    2.看窗口是不是无边框的窗体,就是WindowsStyle="None"又用了透明,这样会导致"Software Render",在XP上性能可能很差,如果是可以把外框加上来先试下
    3.是否使用了很多字体类型,XP上好像没有Font Cache服务,所以会慢一些。
    4.XP上有一些关于D3D的补丁,查以查下,打上再试下.
    5.使用Performace工具查下哪个模块占了太多的CPU.
      

  24.   


    所以对于这一点WPF相普及很难。现在政府,包括很多企业内存条都还是512的。你也不可能总指望着客户电脑里会有GPU吧。
      

  25.   

    Windows 7 or Vista has WDDM (Windows Display Driver Model) while XP does not. WPF performs much better under WDDM.But it is also possible that your machine is just too old, it is slow anyway.
      

  26.   

    你想多了,如今XP的全球市场占有率都是略低于Win7,还不包括国内那么多D版用户,至少2014年以前,XP还能坚强的支撑下去(大部分企业用户),至少8年以内,Win7还是主流。至于Win8的Metro,我前段时间一直在研究Metro Sytle App的开发,目前看来,限制还是比较多,没有WPF灵活,只是开发上同时支持JS+HTML,XAML+C#,对于习惯WPF或者Silverlight的用户,完全没有太高的学习成本。如果说Metro要取代WPF,那么在WP7上,它也同样能取代Silverlight。
      

  27.   

    不要信WPF,它只是一个传统,我用的是传统的Delphi