问题标签 [latency]
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.
networking - 处理网络游戏中的延迟
我正在考虑制作一款网络游戏。我对此有点陌生,并且已经遇到了很多问题,试图为航位推算和网络延迟制定一个好的计划,所以我很想看到一些关于这个主题的优秀文献。我将描述我考虑过的方法。
最初,我只是将玩家的输入发送到服务器,在那里进行模拟,然后将游戏状态的变化广播给所有玩家。这使得作弊变得困难,但在高延迟情况下,事情有点难以控制,因为你不会立即看到自己行为的结果。
这篇 GamaSutra 文章有一个解决方案,可以通过在客户端上进行模拟来节省带宽并使本地输入看起来很流畅,但它似乎将防作弊功能扔到了窗外。此外,当玩家开始操纵环境、推动岩石等时,我不确定该怎么做。这些以前中立的对象将暂时成为客户端需要发送 PDU 的对象,或者可能是多个玩家同时发送的对象。谁的 PDU 会赢?每个玩家何时会停止对对象进行双重跟踪(与航位推算的版本进行比较)?天堂禁止两个玩家进行相扑比赛(例如开始互相推搡)。
这个 gamedev.net 位显示 gamasutra 解决方案不足,但描述了一种不同的方法,它并不能真正解决我的协作巨石推动示例。我发现的大多数其他东西都是针对射手的。我很想看到一些更适合像 SNES Zelda 这样玩的游戏,但涉及更多的物理/动力。
- 注意:我不是在这里询问物理模拟——其他库已经涵盖了。尽管网络延迟,但只是使游戏流畅和反应灵敏的策略。
database - 我应该在数据库和应用程序服务器之间使用专用网络通道吗?
我应该在数据库和应用程序服务器之间使用专用网络通道吗?
...或者...
在交换机中连接两者以及所有其他计算机节点完全没有区别吗?
关键是性能!
testing - 如何模拟低带宽、高延迟的环境?
我需要模拟到服务器的低带宽、高延迟连接,以便在远程站点模拟 VPN 的条件。带宽和延迟应该是可调整的,因此我可以找到最佳组合来运行我们的软件包。
ftp - 通过卫星/高延迟连接的 FTP
我每天都使用 FTP 在多个网站上工作,但是当我尝试在家工作时,我该死的卫星互联网的延迟约为 1000 毫秒。(我知道它的服务很糟糕,但我住的地方没有其他选择。)因此,我想知道是否有一种方法可以连接到我的 Web 服务器并传输可以适应这种延迟的文件。
FTP“有效”,但它的通信速度非常非常慢,而且它是一个包含多个文件的噩梦。连接开始传输大约需要 10-15 秒,传输完成后又需要 5 秒。传输本身按预期进行得非常快,但握手过程却没有,因为服务器/客户端似乎需要进行大量通信来协商传输。更糟糕的是,似乎需要为每个单独的文件做这个握手的事情,这当然没有帮助。
有什么方法可以修改我的 FTP 以使其在高延迟连接上更好地工作?如果没有,我是否可以使用任何其他协议或传输服务来处理此类问题?这是我发现我的 ISP 的主要故障,而且我找不到太多可以解决的问题......
谢谢
c++ - 测量延迟的计时器
在通过 TCP 测量任何协议中的网络延迟(收到的时间 - 发送的时间消息)时,您建议使用什么计时器,为什么?它有什么分辨率?其他优点/缺点是什么?
可选:它是如何工作的?
可选:你不会使用什么计时器,为什么?
我主要在寻找 Windows / C++ 解决方案,但如果您想评论其他系统,请随时这样做。
(目前我们使用 GetTickCount(),但它不是一个非常准确的计时器。)
windows-ce - WinCE 6.0 在 ARM 目标上的典型中断延迟是多少?
ARM 目标上 WinCE 6.0 的典型中断延迟是多少?
(只是寻找性能估计的大概值)
performance - 进程内、进程间和机器间调用之间的相对区别是什么?
忽略有效负载大小,进程内调用(例如在 C++ 或 Java 中)、对同一台机器上的进程的套接字调用以及对另一台机器上的进程的套接字调用之间的延迟相对差异是多少?这可以表示为 ns/ms 或相对数量级的最小延迟。
我正在寻找类似的东西:
http://duartes.org/gustavo/blog/post/what-your-computer-does-while-you-wait
...但扩展到进程内与网络调用(假设快速内部网)。
lamp - 我可以将 LAMP+AJAX 用于(几乎)实时系统吗?
我有一个作为 Windows 应用程序构建的当前系统,并且非常接近实时地执行某些任务。网络中有节点与我们的自定义服务器通信、通信状态以及发送和接收命令。
我们正在寻求迁移到 Web 部署平台。节点,比如说其中的 60-100 个,需要与服务器通信,并快速显示给客户端。我说的是毫秒,而不是秒。网络连接为 LAN/100mbit 或千兆位,从客户端到服务器的连接可靠快速。节点通信也很小,已经以XML消息的形式发送,规模不大,数量也不多。
我们的系统架构师有信心并向我们保证,这可以通过 LAMP + AJAX 完成。我个人以前曾参与过类似的系统,我对保证如此接近实时的消息传递持怀疑态度。
为了进行健全性检查,我错了吗?这可以用 LAMP 或任何类似的语言来完成(很好)吗?(不是 Java,我知道启动的 Java 小程序可以做到这一点)。
apache-flex - 在 Flash 中预加载多个视频?在 Flex 中?
我正在做一个项目,我们背靠背播放多个视频,如果我们通过提供流 url 以正常方式加载它们,每次开始下一个视频时都会有加载延迟。
我浏览了 Adobe 的 Flash 和 Flex 文档,但找不到预加载视频的方法。在此应用程序中嵌入它们是不可行的。理想情况下,我们会预先加载它们,同时显示进度条或其他短视频,并且只有在所有视频加载完毕后才开始播放视频。
我不习惯向其他人询问有关编程的问题,我是 RTFM,但我发现缺少 Adobe 文档,而且谷歌搜索 flash/flex 问题很困难。有很多东西要筛选,我找不到相关的技术/解决方案。
至于 Flex/Flash,我对其中一个或两者的解决方案都感兴趣。也许它是一样的,因为它是actionscript?
visual-studio-2008 - VS2008 IDE 在 aspx 和 aspx.cs 之间切换标签时有 5 秒的延迟,怎么会?
我在 XP sp2 笔记本电脑上安装了 VS2008 (SP1)。
IDE 上的一件事很奇怪,我不知道如何解决它。
我正在编写一个 Web 应用程序,同时打开许多选项卡。当我从 aspx 来回切换到 aspx.cs 时,我总是有大约 5 秒的延迟才能输入键盘。
我认为这可能与一些背景布局渲染过程有关,但我从未从 aspx 页面打开“设计”屏幕,我总是打开“源”屏幕。这 5 秒的延迟很烦人。
有什么配置吗?建议?
非常感谢