Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用节点js持续动态加载图像_Javascript_Node.js_Image_Express_Sails.js - Fatal编程技术网

Javascript 使用节点js持续动态加载图像

Javascript 使用节点js持续动态加载图像,javascript,node.js,image,express,sails.js,Javascript,Node.js,Image,Express,Sails.js,我们的团队正在开发一个小型的web/native android应用程序,使用Sails.js作为我们的服务器框架 一个功能要求发送非固定数量(10-100)的图像,比如漫画阅读器 我知道我们可以进行单页查看并分别请求每个图像,但这似乎会在数据库访问和用户授权方面造成瓶颈 有并没有一种方法可以让客户端加载的图像流保持恒定 我应该为每个客户端压缩/优化图像吗 任何建议都将不胜感激。如果您展示实际的客户端和服务器代码,我们将提供更好的帮助。在每个传入请求上授权用户不应该是一项昂贵的操作。如果是,那么

我们的团队正在开发一个小型的web/native android应用程序,使用Sails.js作为我们的服务器框架

一个功能要求发送非固定数量(10-100)的图像,比如漫画阅读器

我知道我们可以进行单页查看并分别请求每个图像,但这似乎会在数据库访问和用户授权方面造成瓶颈

有并没有一种方法可以让客户端加载的图像流保持恒定

我应该为每个客户端压缩/优化图像吗


任何建议都将不胜感激。

如果您展示实际的客户端和服务器代码,我们将提供更好的帮助。在每个传入请求上授权用户不应该是一项昂贵的操作。如果是,那么您对该代码有问题

如果你真的想从服务器上下载100个图像作为单独的图像,那只需要处理100个请求,你只需要让你的服务器在处理这100个请求时真正高效(缓存、真正高效的数据库等等)。您可以在客户机中并行化请求,以便一次可以下载10个请求

在某些情况下,您可以为客户端配置一些东西,使用一个sprite,将多个单独的图像组合到一个文件中,并且客户端可以灵活地显示主图像的各个部分,以显示许多单独的图像。当图像分组是已知的并且可以在服务器上预先计算并准备好服务时,这是最有效的。如果客户端请求一组任意的图像,那么sprite可能不实用

我知道我们可以进行单页查看并分别请求每个图像,但这似乎会在数据库访问和用户授权方面造成瓶颈

你就是这样做的。您需要使您的数据库访问和授权非常有效,以服务于大量下载查询

有并没有一种方法可以让客户端加载的图像流保持恒定

您可以对客户机进行编码,使其在任何给定时间保持10个请求处于运行状态,以便在客户机下载时具有一些并行性,但不会通过一次发送所有100个请求而使服务器过载

我应该为每个客户端压缩/优化图像吗

图像应该已经被压缩了。如果它们是JPEG或PNG,它们将已经被压缩。您可以尝试使用压缩级别来优化压缩。不同的主题可以进行不同的优化,有时在不过度损害图像质量的情况下实现非常高的压缩(完全取决于图像主题)

当然,你应该确保你的图像的大小是最佳的,这样你就不会下载比你的客户想要显示的分辨率更高的图像。当你只需要显示1k图像时,下载4k图像显然是对带宽和下载时间的巨大浪费