问题标签 [slowdown]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android : 滞后于 TranslateAnimation
我必须实现一个“扫描栏”动画,制作翻译动画(有点像谷歌护目镜应用程序)。这是一张条形图(自定义视图),它从左到右穿过我的表面视图。
我做了一些接近我期望的事情,除了动画滞后:(
这是我的 XML 的一部分:
这是我的自定义视图:
这是我的动画功能(在我的活动类中调用 surfaceChanged()):
我是 android 编程的初学者,我不确定我是否能以最好的方式做到这一点...... :?
感谢您帮助我解决这个滞后/减速问题。:)
sockets - 奇怪的 Winsock recv() 减速
我正在编写一个像 Skype 这样的小 VOIP 应用程序,它现在工作得很好,但我遇到了一个非常奇怪的问题。
在一个线程中,我在 while(true) 循环内调用 winsock recv() 函数两次,每次运行以从套接字获取数据。第一次调用获得 2 个字节,将被转换为(短),而第二次调用获得消息的其余部分,如下所示:
完整消息:[2 字节标题 | 消息,长度由 2Byte Header 决定]
这些数据包大约是 49/秒,大约是 3000 字节/秒。
这些数据包的内容是转换成波形的音频数据。
随着ioctlsocket()
我确定在我收到的每个“消息”(2字节+数据)中是否有一些数据在套接字上。如果在我收到while(true) loop
线程内的消息后套接字上有东西,则将收到该消息,但会丢弃该消息以防止上行延迟。
这个概念非常有效,但问题是:
当我的 VOIP 程序正在运行并且当我并行下载(例如通过浏览器)一个文件时,总是有太多的数据堆积在套接字上,因为在下载时,recv() loop
似乎实际上变慢了。除了实际的 voip up/download 之外,这在每种下载/上传情况下都会发生。
我不知道这种行为来自哪里,但是当我实际上取消除了我的应用程序的 voip 流量之外的所有上传/下载时,我的应用程序再次完美运行。
如果程序完美运行,该ioctlsocket()
函数会将 0 写入 bytesLeft 变量,该变量在接收函数所在的类中定义。
有人知道这是从哪里来的吗?我将在下面附上我的接收功能:
c++ - 逐渐减慢循环?
我一直在尝试找出一种方法,可以让 cpp 逐渐减慢我想要编写的骰子程序的循环速度。获取一个随机数并显示/比较它并不困难。我的问题是试图弄清楚如何显示随机数,就好像骰子正在滚动一样,它逐渐变得越来越慢,直到我想显示生成的兰特数。
我考虑过在另一个 for 循环中做一个 for 循环,并使用第一个循环数从第二个循环数中减去。不知道有没有更好的办法。所有 seraching 都会出现关于程序如何变慢的 seraches,因为它们没有分配内存。
php - 减慢php页面的功能
我有一个问题,我正在编写一个脚本,一切都很顺利,直到突然加载主页需要 1.2 分钟,经过大量评论和取消评论后,我发现以下函数使一切变慢:
更新:
在我运行的同一个脚本上,我发现了问题所在:
所以,我只是将其更改为:
它有效!(我还是不明白问题出在哪里)
感谢大家!!
有什么建议么?
performance - Python GUI (tkinter.ttk) 应用程序缓慢
我已经用 ttk 完成了(工作)应用程序。它使用自行创建的模块来显示与 comport 相关的控件和在其上绘制一些图形的画布。当我创建我的对象的一个实例时,它会启动一个线程,在该线程中处理串行输入并将其附加到一个列表(每个图表一个列表)。当我有 3-6 个图表时,应用程序变得明显变慢。它也有一些错误,但当我完成一般概念时,我会解决它们。
可以帮助您帮助我的事情:
- comport 是一个自写对象的实例,它派生自 LabelFrame 和 Serial.Serial
- 图表的坐标存储在列表字典中: self.graphs = {} self.graphs['name1']=[] 存储的坐标数量最多为画布的宽度,因此每个图表大约 1000-2000 个。有六张图 - 请乘以 6
- 随着每个新坐标的到达,我从列表中弹出(0)并附加()新坐标
- 我忘了,我还将每组新坐标的时间存储在一个单独的列表中
- 我使用 preiodic 调用函数来处理列表: self.after(100, func=self.periodicCall) 因此,每 100 毫秒我从画布中删除(全部),并用线条集绘制每个图形。所以如果我在 6 个 graps 中有 1000 个坐标,我会画 6000 条小线
- 当然还有一些服务信息,比如一些尺子
所以我想这个想法很清楚。我想弄清楚什么是更好的方法。我只是 python 和编程的初学者,所以我要为我将要发布的代码以及它会引起的眼痛寻求你的借口。我没有任何编程风格,我想修复它。至少一点。因此,欢迎对您将在代码中看到的任何内容发表任何其他评论。
并且串行部分 - 也可能滞后(当我曾经每隔一秒左右重新枚举端口时就会滞后......)
更新:我按照布赖恩的建议做了。现在我有两个屏幕重绘功能。它们之间的区别在于首先将所有行向左移动,在右侧添加新行并删除那些从画布上掉下来的行。第二个将线条向左移动并将从画布上掉下来的元素重新部署到右侧(不创建新元素)。就我的初始变体而言,其中任何一个都有很大的改进,但我没有看到两者之间的巨大差异 - 如果我有更多的元素,我可能会想要。后者虽然更适合我的应用程序,因为我不必跟踪那些掉下悬崖的人。
这里的功能:
mysql - 如何使MYSQL中不同数据类型之间的比较快速查询
1)我的问题是,当我有两张大桌子时,由于尺寸太大而无法更改。现在我必须将它们加入一个公共字段,然后比较两个表中的一个字段,该字段具有相同的数据,但一个数据类型是 int,另一个是 varchar。我知道我们可以很容易地做到这一点,但是当表有数百万条记录时,两种不同数据类型之间的比较会变慢,我怎样才能让它变快。
2)我类似的第二个问题是,当我必须在某个字段(如 id)上连接两个表时,并且这两个表中的数据类型不同。就像一个是 int 和另一个是 char .....我怎么能加入这两个表,因为我不能等待很多天。
(我尝试过的一个解决方案是将新表创建为 old 的摘要(通过 in 文件输出文件)。虽然我现在在创建表期间将数据类型从 char 更改为 int ,然后获取 in 文件)
如果有人有其他解决方案,请分享
c# - 如何记录耗时的操作?(C#)
我的游戏运行了很多计算,有时帧率会在没有明显原因的情况下下降,我想知道什么需要这么长时间来处理。如何创建一个计时器(或其他东西)来打印每个主要操作的经过时间?
UPD:运行默认分析器后,我发现瓶颈在我的 tile 数组循环中。我有大约 50 万个瓷砖,循环要求瓷砖的一个属性,每帧大约 200 个瓷砖。像这样:
当 tileArray 非常大时,这会导致减速吗?关于如何避免它的任何建议?
ios - 如何使用 SSML 减慢文本到语音的速度 - 语音声音失真/扭曲/可怕
我正在使用适用于 iPhone 的nuance dragon mobile sdk,用于使用文本到语音。
阅读的文本有点快,我想让它变慢,这样用户就可以学习单词。我的目标是放慢文本的速度。这与 SSML 和韵律标签配合得很好,请参阅以下代码:
声音听起来扭曲、扭曲和可怕。
你明白我的意思吗?
我该怎么做才能获得清晰的声音但说话缓慢的文字?
android - Android Map Activity 在 Honeycomb 上加班变慢
我正在实现一个 MapFragemt(使用对兼容性支持库的破解,使所有 FragmentActivities MapActivities)。Activity 会在地图 (0-30) 和用户当前位置上显示一些叠加层。该活动包含片段(地图)和操作栏。在片段中,我使用 MyLocationOverlay 和 LocationManager 来获取用户位置。问题是如果长时间保持打开状态,Activity 会变得非常缓慢且无响应(5-10 响应按钮按下、滚动等)。
我的应用程序的手机版本使用了几乎相同的代码(相同的片段和几乎相同的活动),并且手机上不会出现问题。一开始我以为可能是内存泄漏,但是做内存分析一直没能发现问题。此外,该应用程序使用的内存量似乎与加班时间大致相同。我正在测试 Honeycomb 3.2。它不会发生在手机的 ICS 上(我没有在 ICS 平板电脑上测试过)。
有人遇到过这个问题吗??我没有发布代码,因为我真的不知道从哪里开始。任何帮助都会很棒!
html - 当任何事件触发时,画布“requestAnimFrame”很慢
我在画布上绘图时遇到问题。问题是当某些事件触发时,'requestAnimFrame' 很慢。
您可以看到当前绘图和下一个绘图之间的时间。
只需在任何文本框上键入一点长文本。键入时,您会看到很长的间隔时间。
当您在 fsfiddle 的文本框上键入时,它会检查文本的颜色。
这需要一点时间。例如,键入'v'或'var',在我的情况下,间隔时间更改为16到58。或者通过拖动选择源代码,需要一些时间。原因可能是 DOM 的访问或某些屏幕更改。
但这还不是全部,我正在使用 socket.io 制作游戏。当游戏收到一个 socekt 时,间隔时间为 100 毫秒或更多。但是socket函数只需要10ms或20ms。
这是游戏编程中的关键问题。
有没有办法解决它?