先看一下IPTV相关情况:

l 目前TPTV市场情况

a) 截止今年2月,全国IPTV总用户数达3630.2万,我国移动互联网用户规模接近9亿,人均月接入量近300M,8M宽带达半数,光纤近4成。

图 1我国整体数字电视转换情况

图 2各省数字电视用户规模及有线数字化程度

b) 今年 3 月通信业经济运行情况显示,三家基础电信企业电信业务总量完成1810.1 亿元,同比增长 22.7%,比同期增速高 7.7 个百分点;

l 中国目前市场上电信IPTV机顶盒主要有:【标清】:华为、中兴、长虹、UT、MOTO、烽火、大亚、同洲、九联、贝尔、创维、朝歌、大华、数源。【高清】:华为、中兴、MOTO、大亚、朝歌、烽火、同洲、海信、创维、凯天、UT、长虹、贝尔、飞越、九联、数源。

从上面可以看出来,以后会对IPTV的要求会越来越高,EPG前端优化时一要考虑服务器的承载能力,二要考虑机顶盒性能及兼容问题。

【准备工作】:考虑环境特殊性,需要做好以下几个准备:硬件:PC、机顶盒、网络集线器(也就是HUB,也可以使用镜像功能的交换机Switch)。软件:Chrome、Wireshark。没有远程环境,这些都得用上,如果有远程调试环境HUB和Wireshark可以不需要。

一、 减少请求数:一般一个页面最好在5个以内的请求,当请求达到10个以上,速度明显慢很多。如何减少请求数呢?

1. 减少图片数量,可将多张图片整合在一起,每一张图片都是一个请求。

2. 绝对不要存在请求不到的资源,也就是不能存在HTTP 404资源。

3. 减少iframe的请求数。

4. 减少AJAX的请求。

5. 通过AJAX异步进行延迟加载资源。

6. 合并javascript和CSS。

二、 JS代码

1. 尽量不要使用JQuery,大部分机顶盒不支持。

2. 合并并最小化JAVASCRIPT。

3. 将小的js内嵌到页面里。

4. 注意机顶盒对按键的兼容性,一般标清只支持onkeypress,大多数不支持onkeydown,如果尝试使用会造成机顶盒卡死。如果两种按键都支持可以JS进行按键判断让其只执行一次按键。

5. 尽量使用AJAX的GET异步请求,少用POST请求。

6. 尽量使用for,而不是each。

7. 尽量少使用eval。

8. 尽量使用getElementById去访问,不要使用getElementsByName、getElementsByClassName、getElementsByTagName,大部分机顶盒不兼容这些方法。

9. 尽量使用join方法去拼接字符,少用concat函数,或者+= 这样的运算符。

10. 重写系统事件时都尽量都返回false或0、null,比如系统按键、播放等事件。

11. 将共用的js 抽出出来放在外部供其它页面调用。

三、 图片:

1. 透明效果的图片尽量使用png、少使用gif。

2. 压缩jpg,删除jpg中不必要的信息。

3. 不能使img的src留空,因为有一些机顶盒会进行额外的请求,更不能设置一个不存在的值。

4. 不要在EPG前端缩放图片大小,图片可以按实际尺寸设计,也就是在img标签中尽量不要存在width、height属性。

5. 延迟加载图片,不是所有图片马上呈现,可按需显示图片。

四、 CSS

1. 避免CSS @import,@import大部分机顶盒不支持,应使用link。

2. 将小的CSS内嵌到页面里。

3. 合并并最小化CSS。

4. 将CSS压缩。

5. 干掉多余不需要的CSS。

五、 Javascript

1. 尽量少使用document.write。

2. 延迟加载javascript。

3. 调整JS顺序,将用在onload的尽量放在html文件后面。

4. 将JS压缩。

5. 不能使用event作函数名。

六、 Java

1. 禁用session,当不需要session时<%@ page session="false"%> 。

2. 尽量使用<%@ include file=”xxx.jsp” %>,少使用<jsp:include page="xxx.jsp"/>。

3. 尽量使用 java去获取URL的参数,JS获取相对比较麻烦而且慢。

七、 不能通过前端进行优化的:

1. 做异步请求时,服务器的响应头为204时,iframe和ajax都可能解决不了问题,都可能出现重复请求,只是ajax可以表现出色一点。

IPTV中的EPG前端优化的更多相关文章

  1. 关于大型网站技术演进的思考(二十)--网站静态化处理—web前端优化—中(12)

    Web前端很多优化原则都是从如何提升网络通讯效率的角度提出的,但是这些原则使用的时候还是有很多陷阱在里面,如果我们不能深入理解这些优化原则背后所隐藏的技术原理,很有可能掉进这些陷阱里,最终没有达到最佳 ...

  2. 转:浅谈CSS在前端优化中一些值得注意的关键点

    前端优化工作中要考虑的元素多种多样,而合理地使用CSS脚本可以在很大程度上优化页面的加载性能,以下我们就来浅谈CSS在前端优化中一些值得注意的关键点: 当谈到Web的“高性能”时,很多人想到的是页面加 ...

  3. 网站静态化处理—web前端优化—中(12)

    网站静态化处理—web前端优化—中(12) Web前端很多优化原则都是从如何提升网络通讯效率的角度提出的,但是这些原则使用的时候还是有很多陷阱在里面,如果我们不能深入理解这些优化原则背后所隐藏的技术原 ...

  4. 【转】关于大型网站技术演进的思考(二十)--网站静态化处理—web前端优化—中(12)

    Web前端很多优化原则都是从如何提升网络通讯效率的角度提出的,但是这些原则使用的时候还是有很多陷阱在里面,如果我们不能深入理解这些优化原则背后所隐藏的技术原理,很有可能掉进这些陷阱里,最终没有达到最佳 ...

  5. 【前端优化之渲染优化】大屏android手机动画丢帧的背后

    前言 上周我与阿里的宇果有一次技术的交流,然后对天猫H5站点做了一些浅层次的分析,后面点时间基本天天都会有联系,中途聊了一些技术细节.聊了双方团队在干什么,最后聊到了前端优化.因为我本身参与了几次携程 ...

  6. 【前端优化之拆分CSS】前端三剑客的分分合合

    几年前,我们这样写前端代码: <div id="el" style="......" onclick="......">测试&l ...

  7. 关于大型网站技术演进的思考(二十一)--网站静态化处理—web前端优化—下【终篇】(13)

    本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部,不过该企业把这个事业部里的人事成本,系统运维成本特别 ...

  8. 关于大型网站技术演进的思考(十九)--网站静态化处理—web前端优化—上(11)

    网站静态化处理这个系列马上就要结束了,今天我要讲讲本系列最后一个重要的主题web前端优化.在开始谈论本主题之前,我想问大家一个问题,网站静态化处理技术到底是应该归属于web服务端的技术范畴还是应该归属 ...

  9. 【webapp的优化整理】要做移动前端优化的朋友进来看看吧

    单页or多页 本文仅代表个人观点,不足请见谅,欢迎赐教. webapp 小钗从事单页相关的开发一年有余,期间无比的推崇webapp的网站模式,也整理了很多移动开发的知识点,但是现在回过头来看,weba ...

随机推荐

  1. Android数据库升级、降级、创建(onCreate() onUpgrade() onDowngrade())[4]

    数据库版本升级对软件的管理操作. 我们手机经常会收到xxx软件升级什么的提醒,你的软件版本更新,同时你的数据库对应的版本也要相应的更新. 数据库版本更新需要主要的问题: 软件的1.0版本升级到1.1版 ...

  2. P1896 [SCOI2005]互不侵犯King

    题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. 输入输出格式 输入格式: 只有一行,包 ...

  3. matlab图像类型转换以及uint8、double、im2double、im2uint8和mat2gray等说明

    转自:http://blog.csdn.net/fx677588/article/details/53301740 1. matlab图像保存说明 matlab中读取图片后保存的数据是uint8类型( ...

  4. 《30天自制操作系统》读书笔记(3) 引入C语言

    这一次的学习相当曲折, 主要是因为粗心, Makefile里面的错误导致了文件生成出现各种奇奇怪怪的问题, 弄得心力交瘁, 因此制作过程还是尽量按着作者的路子来吧. 作者提供的源码的注释在中文系统下是 ...

  5. Hadoop 学习笔记(一) HDFS API

    http://www.cnblogs.com/liuling/p/2013-6-17-01.html 这个也不错http://www.teamwiki.cn/hadoop/thrift thrift编 ...

  6. Github上最受关注的前端大牛,快来膜拜吧!

    1. Paul Irish Github主页: https://github.com/paulirish 个人主页: http://paulirish.com 维基百科: http://en.wiki ...

  7. j2ee爬坑行之二 servlet

    servlet生命周期 web容器加载servlet 类 web容器调用servlet的构造函数,初始化servlet. web容器调用servlet的init()方法.注意该方法在servlet的一 ...

  8. C51-keil编译常见错误和警告处理53

    keil错误:C51编译器识别错类型有三种:1.致命错误:伪指令控制行有错,访问不存在的原文:2.语法及语义错误:语法和语义错误都发生在原文件:3.警告:警告出现并不影响目标文件的产生,但执行:C_5 ...

  9. COJN 0558 800600带通配符的字符串匹配

    800600带通配符的字符串匹配 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 通配符是一类键盘字符,当我们不知道真正字符或者 ...

  10. app开发历程————Android程序解析服务器端的JSON格式数据,显示在界面上

    上一篇文章写的是服务器端利用Servlet 返回JSON字符串,本文主要是利用android客户端访问服务器端链接,解析JSON格式数据,放到相应的位置上. 首先,android程序的布局文件main ...