草庐IT

Performance

全部标签

javascript - 如何在 ionic/angularjs 中预取 url?

我是ionic1的新手,我正在开发一个具有多个URL的应用程序(使用Ionic1和angularjs),其中每个URL都会显示一个类别列表,然后是每个类别和每个项目的项目列表有一个文档URL。如何在后台启动时预加载所有这些URL但不显示它们?有什么方法可以实现吗?好的代码示例或教程将大有帮助。另外,请告诉我这是否是最好的方法,例如在启动时预加载和预缓存所有内容,还是应该按类别或其他方式进行。提前致谢! 最佳答案 您可以使用$q.在后台进行多个异步服务调用在数组中创建URL列表并使用$q.all(listOfURL).立即调用它们使用

javascript - Javascript 中有没有一种方法可以为浏览器回流计时?

我需要能够对基于webkit的浏览器的特定构建进行基准测试,并测量执行某些操作(如DOM操作、内存限制等)所需的时间长度。下面我有一个测试记录了同时加载10个相当重的PNG图形所花费的时间。在代码中,我需要能够计算完成加载所需的时间。我试过设置动态图像对象上的onLoad函数以产生以毫秒为单位的时间。然而,如下图所示,它给出的读数不准确,因为它给出的读数很小,因为它只记录负载的数据传输部分,然后当图片可见-以蓝色循环,这是浏览器重排周期。我可以使用webkit中的某些事件来记录浏览器何时完成回流,以便我可以对其进行基准测试?我必须能够以毫秒为单位记录时间在代码中,因为我正在测试的web

javascript - 在 Angular.js 中使用 <script async> 标签

IlyaGrigorik建议使用尽可能标记。是否有一种干净、首选的方式来使用标签加载Angular.js应用程序,而不使用像require.js或angular-seed推荐的$script.js工具这样的工具?明显的问题是执行顺序。例如预防:UncaughtReferenceError:angularisnotdefinedhttps://www.igvita.com/2014/05/20/script-injected-async-scripts-considered-harmful/ 最佳答案 如果有一些有用的东西可以在没An

javascript - 绘制到 HTML 5 Canvas 的最快方法是什么?

我正在研究仅使用HTML的Canvas作为显示媒体制作游戏的可能性。以我需要完成的示例任务为例,我需要从多个等距图block构建游戏环境。当然,在2D中工作意味着它们必须采用矩形包装,因此图block之间有很大的重叠。我已经足够大了,这个问题的自然解决方案是调用BitBltMasked。哦等等,不,HTMLCanvas没有像BitBlt这样简单和令人愉悦的东西。似乎将像素数据转储到Canvas中的唯一方法是使用没有忽略alphachannel的有用绘图模式的drawImage()或使用在数组中具有图像数据的ImageData对象。使用权。是。界限。检查。和。所以。狗。慢。好吧,这与其说

Javascript 性能 : How to check what is slowing down the page?

我有一个非常慢的页面,不是在加载方面,而是在页面上的表单字段中键入时的响应速度方面。页面上没有ajax——这与网络传输无关。发现代码瓶颈的好策略是什么?我在chrome开发人员工具中找不到任何东西可以告诉我瓶颈在哪里。 最佳答案 Webkit有一个“配置文件”选项。打开开发人员工具(ctrl+shift+i)并单击“配置文件”。从那里您可以在底部看到一个录制按钮(圆圈)。单击它并像往常一样使用您的页面。再次单击它以停止并检查函数调用的时间线!或者,您可以使用以下方法单独对函数进行基准测试:console.time("Somelabe

带有原型(prototype)的 Javascript 函数继承

在DouglasCrockford的JavaScript:TheGoodParts中,他建议我们使用函数继承。这是一个例子:varmammal=function(spec,my){varthat={};my=my||{};//Protectedmy.clearThroat=function(){return"Ahem";};that.getName=function(){returnspec.name;};that.says=function(){returnmy.clearThroat()+''+spec.saying||'';};returnthat;};varcat=functi

javascript - 为什么 DOM 读/写操作的微小重新排序会导致巨大的性能差异

下面的代码说明了这个问题,改变读/写的顺序会导致执行时间有很大的不同(使用Chrome、Firefox和IE测试)://read->write->read->write...functionclearSlow(divs){Array.prototype.forEach.call(divs,function(div){contents.push(div.clientWidth);div.style.width="10px";});}//read->read->...->write->write...functionclearFast(divs){Array.prototype.forEa

javascript - array.includes 和 string.includes 哪个性能更好?

我想找出哪个性能更好:letarray=[1,2,3,4]array.includes(4)或letstr="1234";str.includes(4);并试图通过执行找到它:console.time();letar=[1,2,3,4,5];ar.includes(4);console.timeEnd();console.time();letstr="12345";str.includes("4");console.timeEnd();在控制台和页面内的脚本中。当直接从控制台执行时,时间是array.includes花费最少的时间。从页面执行时,报告的时间使得string.includ

javascript - jQuery html() 表现真的很慢

我正在测试我之前读到的关于Math.random()有多随机的东西确实如此,并且想要显示10000个数字,这些数字应该是0到10000000之间的随机数。为了查看测试,我选择了将随机数数组加入到带有的字符串中每个整数之间。然后我就做了$("#"+elm).html(randomNumberString);这真的很慢。我只是认为这是随机数的生成和排序到数组中。但是当我开始在我的代码中放置计时器时,我发现是输出让一切变慢了。就像我做的测试一样document.getElementById(elm).innerHTML=randomNumberString;jQuery.html():250

javascript - 将数百个 DOM 元素动态插入页面同时保持高性能的最佳方式

我有一个Web应用程序,我们可以在其中将数百个元素插入到DOM中本质上,我在做$('#some_element').html('');反复。在某些情况下,我可能需要执行$('#some_element').appendTo('morehtml');根据以前的经验,使用追加或设置元素的innerHTML插入html文本很慢。我听说您可以通过首先将元素放在DOM片段中然后将其位置移动到您想要的元素内部来提高性能。性能是关键。你们对最大化性能有什么提示或建议吗?我可以做些什么来加快速度?编辑:如评论中所述:应用程序涉及各种数据的实时流,因此需要能够不断添加新的DOM元素来表示新数据。(这也可