草庐IT

Performance

全部标签

javascript - JS tween如何提高?

我正在尝试制作一个简单的expotween,它可以工作,但它有点紧张,而且FF似乎有点挂起。我可以做些什么来改进它?vardistance=(target-x)*dir;x+=(distance/5)*dir;if(dir==1&&x>=target-1){return;}if(dir==-1&&x 最佳答案 您可能会找到答案,更多信息请查看tween.js的来源所有可视化的补间曲线:http://sole.github.com/tween.js/examples/03_graphs.html

javascript - JavaScript 中的最近对算法

我正在尝试实现分而治之算法,以使用JavaScript在随机生成的点集中找到最近的一对点。该算法应该在O(nlogn)时间内运行,但它比简单的蛮力算法运行时间要长得多,后者应该是O(n^2)。我创建了两个jsfiddle,为16000个点的数组计算算法时间:DivideandConquerBruteForce我的假设是,分而治之之所以如此缓慢,是因为JavaScript数组实际上是哈希表。是否有可能显着加快JavaScript中的算法?如果是这样,执行此操作的最佳方法是什么? 最佳答案 一眼看去,您的合并函数分配了过多的内存(大致顺

javascript - 如何正确理解 devtools timeline?

我的问题是关于ChromeDevTools,具体来说,我有关于时间轴选项卡的问题。因此,正如我读过无数次,我的浏览器必须以60fps的速度渲染我的像素。有时虽然它有一些繁重的JS执行并阻止60fps的发生。此外,如果我有一些CSS和JS导致重新计算和重新绘制DOM树(部分或完整树),一帧也可能需要超过~16毫秒。这是我们应用程序中这么长的框架的图片:好的,在这里我可以清楚地看到,两个请求花费了太多时间(192毫秒+14毫秒),以至于浏览器无法绘制60fps并且它甚至没有接近那里。虽然这是另一张图片:所以现在好多了。现在是~42fps。但是现在我不明白为什么..我有几个“更新图层树”和“

javascript - 关于JavaScript中闭包/封装效率的问题

我是JavaScript的新手,如果这是一个愚蠢的问题,请多多包涵。假设我有一个看起来像这样的“类”:varobj=function(){varval;return{setVal:function(newVal){val=newVal;},getVal:function(){returnval;}};};假设我的语法是正确的,这定义了一个具有名为“值”的“私有(private)”属性的类,以及设置/获取该属性的方法。现在,我将从这个类创建两个对象:varmyObj=obj();varyourObj=obj();这是否为每个对象创建一个单独的setVal()和getVal()方法?如果不

javascript - 为什么在编辑大型 .js 文件时 Visual Studio 2010 会变慢?

我有.js文件,目前超过4400行,编辑它非常慢(从按键到文档中出现的字符大约延迟一秒)。是否存在与编辑大文件或JavaScript文件相关的任何特定性能问题?注意我正在使用VS2010SP1并使用16GBRAM运行它,并安装了http://jsoutlining.codeplex.com. 最佳答案 禁用JSOutlining扩展可以改善这一点。 关于javascript-为什么在编辑大型.js文件时VisualStudio2010会变慢?,我们在StackOverflow上找到一个类

javascript - JS和CSS存放在localstorage有什么意义?

在阅读StoyanStefanov的webperformancedaybook时我遇到过以下情况:GoogleandBingstoreJavaScriptandCSSinlocalStoragetoimprovetheirmobilesiteperformance和link到带有描述的博客。尽管如此,我还是读了它(并且有使用localstorage的合理经验),我仍然无法理解这种行为的意义所在。在我看来,浏览器已经完成了缓存CSS和JS的工作,绝对没有必要将它们存储在本地存储中。谁能用简单的英文解释一下这是什么原因?P.S.一开始我认为这可能与移动浏览器的缓存大小有关,但当我检查时发现

javascript - 测量四个相似 Javascript 函数之间的 CPU 负载差异

为什么这对我很重要我有一个网站,我需要在其中运行倒数计时器,以向人们显示他们还剩多少时间来完成一项操作。这个计时器将运行数天,可能只是使用MomentJS从MomentJS的to()中说“4天后”之类的话。功能。但是,当我们还剩一个小时时,我将切换到按分钟计时器倒计时,最终当分钟数足够低时,我将使用秒计时器。当我们进入最后几分钟时,我什至要显示毫秒。问题几乎有两种主要技术可以为倒数计时器设置动画。setInterval()requestAnimationFrame()好吧,我马上注意到requestAnimationFrame()方法对眼睛来说更加流畅,效果很好-特别是当我显示毫秒时。

javascript - 在 Javascript 中执行(整数)操作的最有效方法是什么?

我正在用Javascript实现一个图灵机(把它想象成一个虚拟机)。我正在研究一个尽可能高效地执行计算的例程(从一开始这不是项目的重点)。是的,除非遇到性能问题,否则我不应该考虑优化。但是我正在做的事情的性质(大多数非平凡程序的渐近运行时效率非常低)意味着总是可以从优化中获得一些好处。我想尽我所能(合理地)每秒获得尽可能多的指令。例如,如果我用C++编程,解决方案就很清楚了。做一些计时。gprof.-O3等等。我将研究我希望运行代码的体系结构,并且可能还会查看正在生成的程序集。但是,不能用javascript做到这一点。我的第一直觉是将内部循环中的操作减少到数组查找。在我看来,如果解释

javascript - 为什么在定义带有或不带引号的 JavaScript 对象字面量时速度会有所不同?

在纯JavaScript中,MDN和GoogleJavaScriptstyleguide建议以下两个片段是等效的://SnippetonevarmyObject={"test":"test"}//SnippettwovarmyObject={test:"test"}我编写了一个测试函数,它使用performance.now()(MDN)来测量创建一百万个简单对象所花费的时间:functiontest(iterations){varwithQuotes=[];varwithoutQuotes=[];functiontestQuotes(){varobjects=[];varstartTi

javascript - 如何使用 defineSetter 在两个对象中正确设置 scrollLeft?

在我的页面中,我有两个宽度相同的表格,它们都进行水平滚动。当每个表格滚动时,我需要将两个表格设置到相同的位置。其实我的代码是:varscrollA=$('#scrollA'),scrollB=$('#scrollB');scrollA.on('scroll',function(){scrollB[0].scrollLeft=scrollA[0].scrollLeft;});它有效。问题是在某些情况下加载的数据大到足以减慢浏览器和滚动事件的速度。然后,我会尝试改善这些情况下的用户体验。我做了这个片段,我尝试使用Object的__defineSetter__函数:varelementA={