- 浏览: 316339 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
完善自我:
支持一下!
揭秘IT人才特点:中美印日四国程序员比较 -
悲剧了:
好文,看玩thinking in java的提到的异常处理,看 ...
高效的Java异常处理框架(转) -
yin_bp:
开源框架bbossgroups页支持组件异步方法调用哦,详情请 ...
Spring 3中异步方法调用 -
flyjava:
sun的悲哀
Apache怒了,威胁说要离开JCP
一、缩小图片大小
当图片很多的时候,减少图片大小是提高下载速度最直接的方法。
1. 使用PNG8代替GIF(非动画图片),因为PNG8在效果一样的情况,图片大小比GIF要小。
2. 用fireworks处理PNG图片,在我们产品中很多PNG图片是美工直接用photoshop导出的,
后来让美工用fireworks处理PNG(大概的方式是选择保存为PNG8,删除背景色)。
处理后100K的图片大小基本减少了3/4,但图片质量也会有少许降低,要看自己是否能接受。
3. 使用Smush.it(http://www.smushit.com/ysmush.it/
)压缩图片,Smush.it是YUI团队做1个在线压缩图片的网站,
该网站在不影响原图片的质量下去掉图片中一些元数据,所以可以放心使用该网站进行压缩,
但这个压缩比例也是比较有限的。
二、合并图片和拆分图片
1. CSS Sprites合并图片以减少请求数来提高性能大家都知道。但不要把图片合并太多,太多太大了,
就会因为这1个图片影响这个页面的显示了。
2. 有时候我们需要把1个大图片拆分成多个小图片,比如产品首页图片比较少,就1个很大的banner图片,
因浏览器都可以并发下载图片,所以如果不拆分,只使用1个大图片的话,下载速度反而会比较慢
三、透明图片处理
IE6不能显示透明的PNG图片,是很多开发人员特别头疼的事,分别介绍下几种方式的优缺点。
1.使用AlphaImageLoader,IE6支持filter,使用下面的CSS代码,可以让IE6支持PNG
#some-element {
background: url(image.png);
_background: none;
_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='image.png', sizingMethod='crop');
}
优点:使用简单
缺点:性能损耗很大,AlphaImageLoader会花费很多资源去处理透明图片,使用AlphaImageLoader,IE使用内存会迅速上升。
而且AlphaImageLoader所有处理都在同1个线程中同步进行,所以当AlphaImageLoader多的时候,会阻塞UI的渲染。
使用_filter,IE7也可以识别,其实IE7是可以识别PNG透明图片的,如果在IE7下使用上面代码,IE7不会直接使用图片,而是使用AlphaImageLoader。
注:个人建议尽量避免使用AlphaImageLoader
2. JS处理
使用DD_belatedPNG(http://www.dillerdesign.com/experiment/DD_belatedPNG/),可以很简单的对界面上所有的透明图片进行同一处理。
优点:使用简单(比AlphaImageLoader还简单)
缺点:当页面上需要处理的图片比较多的时候,速度也比较慢,而且不能动态改变图片。
3. VML
IE6支持VML,VML可以使用透明图片,代码如下:
修改html代码头部
head
>
style
type
="text/css"
>
v\:*
{
behavior
:
url(#default#VML)
;
}
span style="color: rgb(128, 0, 0);">style
>
span style="color: rgb(128, 0, 0);">head
>
body
>
v:image
src
="image.png"
/>
span style="color: rgb(128, 0, 0);">body
>
span style="color: rgb(128, 0, 0);">html
>
优点:性能好,速度快
缺点:使用复杂,而且不支持firefox等浏览器,需要判断不同的浏览器输出不同的HTML代码。
四、多域名下载图片
因每个浏览器对同1个域名同时只能发送固定的请求,比如IE6好像是2个,所以可以对图片资源开通多个域名进行请求,
比如img1.abc.com,img2.abc.com。但域名不要开启太多,因为解析域名和打开新的连接都需要消耗时间,域名多了,说不定反而会更慢。一般2-4个域名就够了。
五、IE6下缓存背景图片
IE6背景图片缓存是个麻烦事,很多人知道使用下面的JS来让IE6缓存背景图片
try{
document.execCommand("BackgroundImageCache", false, true);
}catch(e){}
但是这样做的效果并不是非常好,当出现鼠标移动改变背景图片的时候,IE6老是会发送1个图片请求(尽管该背景图片已经下载),
虽然返回结果是304,但还是要花费不少时间。在这种情况下,可以使用下面1个变通的方式来处理,
在页面上直接使用1个DIV元素来加载该图片,这样加载图片就能真正被缓存,鼠标移动也不会发送请求了。
六、预加载图片
使用下面代码可以在页面加载完毕后预加载下1个页面的图片,当进入下1个页面就不用再下载图片了。
window.onload=function(){
var img = new Image();
img.src = "images/image.png";
img = null;
};
原文:http://www.blogjava.net/BearRui/archive/2010/02/22/web_performance_image.html
发表评论
-
Web编程是函数式编程
2010-11-30 13:44 1067任何一位在两个领域里 ... -
如何开发Web应用程序
2010-11-30 13:41 1125这是一个经常被问到的 ... -
设计Web应用程序时要注意可伸缩性
2010-11-26 09:19 940Max Indelicato是一位软件 ... -
Web 2.0应用客户端性能问题十大根源
2010-11-25 20:19 1041Web 2.0应用的推广为用户带来了全新的体验,同时也让开 ... -
HTML压缩(JSP的GZIP实现)
2010-11-24 22:31 4939HTTP 压缩可以大大提高浏览网站的速度,它的 ... -
浏览器加载和渲染html的顺序
2010-11-22 09:45 25771.浏览器加载和渲染html的顺序 1、IE下载的顺序是从上到 ... -
在服务端合并和压缩JavaScript和CSS文件
2010-11-22 09:16 1148Web性能优化最佳实践中最重要的一条是减少HTTP请求 ... -
用 YUI Compressor 压缩和混淆 JS 和 CSS
2010-11-22 09:05 2378一、简介: 目前开发Web应用Javas ... -
如何缓存DWR生成的JS文件
2010-11-18 17:37 1968DWR provides a convenient mec ... -
HTTP状态一览
2010-11-17 22:43 774在网站建设的实际应用中,容易出现很多小小的失误,就像m ... -
两款HTTP流量分析工具的比较:HTTP Watch,Fiddler
2010-11-17 17:26 0做Web开发或者Web分析经常需要查看Http通讯的过程, ... -
了解CSS的查找匹配原理,让CSS更简洁、高效
2010-11-17 16:49 0用了这么多年的CSS,现在才明白CSS的真正匹配原理,不知 ... -
高性能WEB开发 - flush让页面分块,逐步呈现
2010-11-17 16:47 0在处理比较耗时的请求的时候,我们总希望先让用户先 ... -
WEB高性能开发 - 疯狂的HTML压缩
2010-11-17 16:46 0前言: ... -
该如何加载google-analytics(或其他第三方)的JS
2010-11-17 16:44 0很多网站为了获取用户访问网站的统计信息,使用了go ... -
高性能WEB开发 - 页面呈现、重绘、回流。
2010-11-17 15:57 0页面呈现流程 在讨论页面重绘、回流之前。需要 ... -
高性能WEB开发 - JS、CSS的合并、压缩、缓存管理
2010-11-17 15:54 0本篇文章主要讨论下目前JS,CSS 合并、压缩、缓存 ... -
高性能WEB开发- 减少请求,响应的数据量
2010-11-17 15:49 0上一篇中我们说 ... -
高性能WEB开发 - 为什么要减少请求数,如何减少请求数!
2010-11-17 15:42 0http请求头的数据量 我们先分析下 ... -
高性能web开发 - 如何加载JS,JS应该放在什么位置?
2010-11-17 15:39 0外部JS的阻塞下载 所有浏览器在下载JS的时候, ...
相关推荐
在高性能网站Web开发中,图片管理是一个至关重要的环节。它涉及到如何有效地存储、处理、优化以及展示图片,以提升用户体验并降低服务器负载。本篇内容将深入探讨与图片管理相关的技术点,结合提供的"ImageConvert....
在高性能WEB开发中,图片处理是提高页面加载速度的关键因素之一。图片压缩技术能够有效减小图片文件的大小,从而加快网页的加载时间。接下来,我将详细阐述图片压缩篇中的几个重要知识点。 一、缩小图片大小 当...
总结,"web-twain-vue-advanced-main.zip"提供了一套完整的在线扫描解决方案,结合Vue.js 3.2.13的强大功能,使得在Web应用程序中实现高质量的扫描体验成为可能。开发者可以通过深入理解Web-Twain的API和Vue的组件化...
本篇文章将详细探讨“jmessage-sdk-web-2.6.0 (1).zip”压缩包中的Web端SDK Demo,为开发者提供全面的参考指南。 一、极光IM概述 极光IM,全称为JMessage,是极光公司推出的一款跨平台的即时通讯服务。它提供了丰富...
【高性能WEB开发:Nginx HTTP服务器篇】 前端性能优化对于现代互联网产品至关重要,特别是当产品设计追求炫酷效果,大量使用图片和JavaScript时。为了提高用户体验,减少服务器负载,通常需要对静态资源进行有效...
这篇资料集合显然包含了关于如何进行海康NVR的WEB开发的详细教程和官方插件资源。 1. **海康NVR API接口** 海康NVR提供了丰富的API接口,允许开发者通过HTTP或HTTPS协议进行通讯,实现如视频流的获取、录像回放、...
在实战开发方面,本教程详细介绍了控制器(controller)、模型(model)和验证器(Validate)的使用方法,这些都是构建一个Web应用不可或缺的部分。特别地,API开发部分详细说明了单条信息显示、复杂关联显示、信息...
在Web开发中,为了增强用户体验,常常需要在网页上实现图片的查看功能,这通常涉及到图片查看插件的使用。本篇文章将详细讲解一个适用于Web页面的图片查看插件,该插件支持图片的旋转、放大、缩小等多种操作,极大地...
### WEB前端开发课程计划知识点概览 #### 一、课程安排 - **培训周期**:为期2个月。 - **上课时间**:工作日晚上19:00至21:00;周末上午8:30至11:30,下午13:30至16:30。 - **每课时长度**:50分钟,课间休息10...
在当今的Web开发领域,Laravel框架因其优雅的语法、强大的功能和高效的开发流程而备受开发者喜爱。本篇文章将深入探讨Laravel的开发环境搭建,以及如何利用Laravel-Admin-Panel创建一个高效的后台管理系统。 ### 一...
在Laravel框架中,处理图像大小调整是常见的需求,特别是在构建Web应用时,我们需要确保图片在不同设备和屏幕尺寸上展示得恰到好处。"Laravel开发-resize-image"项目就是为了实现这一目标,通过预定义的尺寸来优化...
因此,对于网站管理员和开发人员来说,了解并掌握高性能网站建设的方法至关重要。本篇指南将深入探讨Web前端性能优化的相关知识点,帮助您构建一个快速、高效、响应迅速的网站。 首先,我们要认识到性能优化的重要...
新产品为了效果,做的比较炫,用了很多的图片和JavaScript,所以前端的性能是很大的问题,分篇记录前端性能优化的一些小经验。因tomcat处理静态资源的速度比较慢,所以首先想到的就是把所有静态资源(JS,CSS,image,...
对于大量或高分辨率的图片,处理可能会耗时较长。为了不阻塞用户请求,可以将图像处理放入 Laravel 的队列中异步执行。创建一个新的队列作业,并使用 `Resized` 类进行处理: ```php use Illuminate\Bus\Queueable; ...
理解这些基础概念和技术对于构建高性能、可扩展的微服务至关重要。同时,模板引擎的使用进一步提升了Web应用的用户体验和开发效率。在实际项目中,结合这些知识,我们可以更好地设计和实现复杂的微服务系统。
**正文** 在Laravel框架中,开发者经常需要处理生成PDF或图像的需求,这在Web应用中非常常见,比如创建收据、报告或者用户手册等。...正确配置和使用,能确保生成高质量的文档和图片,满足各种业务需求。
在现代Web开发中,使用云存储服务已经成为一种趋势,这有助于减轻服务器压力,提高数据安全性,并方便地扩展存储需求。Laravel框架作为PHP的热门选择,提供了与多种云存储服务集成的能力,其中包括谷歌云存储...
本篇将深入解析基于Java Web开发的个人博客系统源码,这是一个适合初学者学习和实践的项目。通过这个项目,你可以了解到Java Web开发的基本框架、技术栈以及核心概念。 1. **技术栈概述** - **Java Servlet**:...