草庐IT

Performance

全部标签

c# - 哪个运行时性能更快 : WPF or Winforms?

我知道WPF更复杂、更灵活,因此可以考虑进行更多计算。但是由于渲染是在GPU上完成的,对于相同的应用程序(功能和视觉),它不会比Winforms更快吗?我的意思是,当您不运行任何游戏或进行繁重的3D渲染时,GPU不会执行繁重的工作,对吧?而CPU总是很忙。这是一个有效的假设还是WPF的GPU利用率是其管道中非常小的操作?编辑:我感兴趣的应用程序是一个3d建模和动画软件,您可以在其中使用3d视口(viewport)导航和编辑场景以及场景中的对象。但我想使用WPF,因为它的现代架构,而且是从头开始。EDIT2:同样出于我的目的,由于软件的高端要求,我将对应用程序本身使用DirectX。至于

c# - out 用于多个输出值或返回组合值类型更好吗?

例如,按照以下行:publicboolIntersect(Rayray,outfloatdistance,outVector3normal){}对比publicIntersectResultIntersect(Rayray){}publicclassIntersectResult{publicboolIntersects{get;set;}publicfloatDistance{get;set;}publicVector3Normal{get;set;}}哪个在清晰度、易用性和最重要的性能方面更好。 最佳答案 我会使用组合类型,我会

c# - 最好使用 int.Parse 或 Convert.ToInt32

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Whatsthemaindifferencebetweenint.Parse()andConvert.ToInt32我想知道使用Convert.ToInt32VSint.Parse的优点和缺点是什么。这里是我使用的语法示例:intmyPageSize=Convert.ToInt32(uxPageSizeUsersSelector.SelectedValue);intmyPageSize=int.Parse(uxPageSizeUsersSelector.SelectedValue);我也找到了这些文章,也许他

c# - 在 C# 中确定未修剪的字符串是否为空的最有效方法是什么?

我有一个字符串,周围可能有空白字符,我想检查它是否本质上是空的。有很多方法可以做到这一点:1if(myString.Trim().Length==0)2if(myString.Trim()=="")3if(myString.Trim().Equals(""))4if(myString.Trim()==String.Empty)5if(myString.Trim().Equals(String.Empty))我知道这通常是一个明显的过早优化案例,但我很好奇并且有可能这样做足以对性能产生影响。那么,哪种方法最有效?有没有我没有想到的更好的方法?编辑:此问题的访问者注意事项:已经对这个问题进

c# - 背靠背 for 循环中的 int、short、byte 性能

(背景:WhyshouldIuseintinsteadofabyteorshortinC#)为了满足我自己对使用“适当大小”整数与“优化”整数的优缺点的好奇心,我编写了以下代码,这些代码强化了我之前对.Net中的int性能的看法(并对此进行了解释在上面的链接中)这是针对int性能而不是short或byte进行了优化。DateTimet;longa,b,c;t=DateTime.Now;for(intindex=0;index这在......方面给出了大致一致的结果~950000~2000000~1700000这符合我的预期。然而,当我尝试像这样为每种数据类型重复循环时......t=D

c# - 使用属性和性能

我正在优化我的代码,我注意到使用属性(甚至是自动属性)对执行时间有深远的影响。请参见下面的示例:[Test]publicvoidGetterVsField(){PropertyTestpropertyTest=newPropertyTest();Stopwatchstopwatch=newStopwatch();stopwatch.Start();propertyTest.LoopUsingCopy();Console.WriteLine("Usingcopy:"+stopwatch.ElapsedMilliseconds/1000.0);stopwatch.Restart();pro

c# - Owin/IIS 应用程序在 Azure 上的性能不佳

我们测量了一些性能测试,我注意到CPU在内核模式下运行了很多时间。我想知道这是为什么。应用程序:它是经典的Azure云服务Web角色,Owin在IIS下监听,Owin本身只提供缓存在内存中的静态文件(因此应该只有一点性能损失和一切都应该很快)。内容通过awaitstream.CopyToAsync(response.Body)复制到输出流。测试本身在gatling中看起来像这样:valopenLoginSet=exec(http("ROOT").get("/").headers(Headers105Test2.headers_0).resources(http("MED:arrow-d

c# - 如何最大化 http.sys 文件上传性能

我正在构建一个工具,用于将非常大的流数据集(单个流中可能达到TB数量级;通常为数十GB)从一台服务器传输到另一台服务器。该工具的客户端部分将从源磁盘读取block,并通过网络发送它们。服务器端将从网络上读取这些block并将它们写入服务器磁盘上的文件。现在我正在尝试决定使用哪种传输方式。选项包括原始TCP和HTTP。我真的非常希望能够使用HTTP。HttpListener(或者WCF,如果我想走那条路)使插入HTTP服务器API(http.sys)变得很容易,而且我可以免费获得身份验证和SSL之类的东西。现在的问题是性能。我编写了一个简单的测试工具,它使用BeginWrite/EndW

c# - ASP.NET MVC URL 生成性能

ASP.NETMVC的一个小基准测试。查看页面代码:publicstringBechmark(Funcurl){vars=newStopwatch();varn=1000;s.Reset();s.Start();for(inti=0;i";}查看代码:Url.Action("Login","Account"))%>Url.Action("Login","Account",new{username="bla",password="bla2",returnurl="blabla32",rememberme=false}))%>Html.BuildUrlFromExpression(a=>a

c# - 性能问题 : comparing to String. 格式

不久前,JonSkeet的一篇文章在我脑海中植入了构建一个CompiledFormatter类的想法,用于在循环中使用而不是String.Format()。这个想法是对String.Format()的调用部分花在解析格式字符串上的开销;我们应该能够通过将该代码移出循环来提高性能。当然,诀窍是新代码应该完全匹配String.Format()行为。这周我终于做到了。我经历了使用.NetframeworksourceprovidedbyMicrosoft直接调整他们的解析器(事实证明String.Format()实际上将工作交给了StringBuilder.AppendFormat())。我