【问题标题】:Nodejs Desktop App vs Web based app performanceNodejs 桌面应用程序与基于 Web 的应用程序性能
【发布时间】:2015-11-20 06:27:00
【问题描述】:

我的雇主现在正处于十字路口: 我们收到了为一家大型跨国公司创建应用程序的报价,该公司有兴趣在地图上同时监控大量车辆。我当时说的是5000。尽管我们努力优化代码,但我们试图在我们当前的基于 Web 的应用程序中做到这一点,但由于对象的数量,它会阻塞。我的问题是:如果我们通过 nodejs 的模块(如 node-webkit 或 atom-shell)将基于 Web 的应用程序转换为桌面应用程序,我们能否获得一些性能提升。桌面应用程序是否可以更好地访问系统资源?网页被冻结而无法帮助,甚至给我一条消息让我怜悯杀死它,因为处理时间太长了,但在任务管理器中它只使用了大约 18% 的 CPU 和 16 GB 中的 2 GB 内存。

【问题讨论】:

    标签: node.js performance desktop-application node-webkit large-data


    【解决方案1】:

    不,这无济于事。您的代码仍然在 webkit 浏览器中运行。 诀窍是不要一次显示所有 5000 个对象。 无论如何,在地图上显示 5000 个图钉对用户没有用处,将靠近的标记分组 (https://developers.google.com/maps/articles/toomanymarkers?hl=en);

    随着用户放大,您可以显示越来越详细的视图。

    【讨论】:

    • 感谢您的回复。我们的客户不会在集群的事情上让步。我们只对转移到桌面应用程序时的最大代码重用感兴趣。如果我们要从头开始,报价是不可能的。问题是,我们能否在桌面应用程序中使用 Web 技术来更好地访问系统资源?我是 javscript 开发人员,所以我的思绪总是跳到 Node.js。也许还有其他选择?
    • 我认为您在桌面上也会遇到同样的问题。渲染 5000 个对象是一项艰巨的任务。更重要的是,如果地图视图与针脚media.svennerberg.com/2008/12/unclustered.jpg 聚集在一起,它的可用性就消失了。我建议与您的客户开会,从可用性的角度解释这个概念。
    • 如果我们忽略上下文、标记等(因为这对我来说很奇怪,在为我的雇主赚钱之前):有没有办法更好地访问系统资源对于我的应用程序,是否要使用带有 HTML 和 CSS 的 Javascript 编写?我目前正在研究色调:trueinteractions.com
    • 如果您对性能进行微优化,交叉编译并不是一个好主意。通过尝试一种您没有任何经验的新技术,您并没有帮助您的雇主或您的客户。优化性能的第一步是避免不必要的工作。在这种情况下,这意味着不渲染 5000 个标记
    猜你喜欢
    • 1970-01-01
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    • 2011-05-20
    • 2013-03-18
    相关资源
    最近更新 更多