【源码解析06】【android pm 源码】【android lrucache源码】elsa源码

时间:2024-11-27 02:08:26 来源:迷宫骇客源码 编辑:小视频系统网站源码

1.NVIDIA RIVA 128的简介
2.CPU与IE6不兼容的处理
3.Elasticsearch date 类型详解

elsa源码

NVIDIA RIVA 128的简介

       NVIDIA RIVA 是NV于年底发布的基于NV3图形核心的显卡系列,该系列包括NVIDIA RIVA 和NVIDIA RIVA ZX,NV3是NVIDIA第一款对微软Direct3D加速提供支持的图形芯片,它也是第一个提供硬件三角形引擎的 bit图形芯片,虽然NVIDIA RIVA 的图像质量比不上3dfx Voodoo,但是凭借M/秒的像素填充率和对OPENGL的良好支持,NVIDIA RIVA 在非GLIDE API的游戏中完全超过了Voodoo,迅速赢得了消费者和一些OEM厂商的青睐。

       NVIDIA RIVA 支持AGP 1x规范,可以配合Intel的LX芯片组主板使用。年底,Dell、Gateway等厂商相继使用了NVIDIA RIVA 显卡。零售市场上,Diamond、STB、ASUS、ELSA和Canopus等也都相继推出了基于此芯片的产品。不到一年,NVIDIA RIVA 的出货量就突破万颗,NVIDIA终于凭借NV3打了个翻身仗。

       æ€»çš„来看,NVIDIA RIVA 取得成功的因素是多方面的,本身的处理性能固然很重要,但是年游戏软件方面的发展变化也很关键:

       é¦–先,年初ID开放了QUAKE2引擎的授权,包括VALVE在内的游戏软件开发商在3月份就获得了QUAKE2引擎的源代码,并用于游戏的开发,使得QUAKE2引擎的3D游戏名作诸如《异教徒》、《半条命》等大量上市,NVIDIA RIVA 良好的OpenGL性能得到了充分的发挥。

       ç¬¬äºŒï¼Œ3DFX的GLIDE API失去了过去在游戏开发领域的统治地位,最著名的两个例子就当时称得上是风靡世界的古墓丽影2和极品飞车3,这两个过去本来是GLIDE的御用游戏,都加入了对D3D的支持,NVIDIA RIVA 等非VOODOO显卡也可以通过D3D接口很完美的运行游戏。

CPU与IE6不兼容的处理

          超线程CPU与IE6不兼容的处理

          使用超线程CPU的电脑,如果用WinXP集成的IE6浏览网页,常会出现死机现象,解决办法有三种:1。在BIOS里关闭超线程技术;2。使用其他浏览器浏览网页,如Netscape和Opera等;3。升级安装WinXP SP2软件包。 推荐文章

          笔者去年年底配置了一台电脑,具体配置是:CPU是支持超线程的P4 2。4C GHz,主板是采用iPE芯片组的升技IS7—E,它板载/Mbps自适应网卡和5。1声道AC’声卡,内存是两条MB的金士顿DDR(组成双通道模式), 显卡是ELSA镭SE。笔者在BIOS中打开了超线程技术,并且安装了双系统:WinXP和WinSE。

          笔者在使用该机时发现,在WinXP下无论进行文字处理,还是进行图形处理、玩单机游戏和网络游戏,或在线看电影等都是正常的,用QQ聊天也很正常,但是一用WinXP集成的IE6浏览器浏览网页,系统速度就会变慢,在任务管理器中查看,发现CPU的使用率高达%,最后导致死机。按Reset键重启后现象依旧。

          笔者怀疑与防火墙、上网助手、木马或软件不兼容等问题有关。关闭防火墙和上网助手,经过查杀病毒等处理,都没有解决问题。最后格式化硬盘并重装了WinXP SP1系统,在不安装其他应用软件的情况下笔者用WinXP SP1的IE6上网浏览网页,仍然出现死机现象。实在解决不了,最后笔者进入WinSE下,拨号上网,用IE6浏览网页,没有出现死机现象了。WinSE不支持超线程(HT)CPU,难道Intel的超线程CPU与WinXP集成的IE6有不兼容性问题。于是笔者在BIOS中关掉了HT技术,再也没有出现以上现象了。

          为了进一步验证是不是个别主板的问题,笔者和朋友测试了华硕和技嘉的PE主板(这些主板都支持HT技术),都存在上述问题。也换过不同频率、不同生产工艺,都支持HT技术的CPU,同样存在这个问题。在WinXP下,笔者试着安装了其他浏览器(如Netscape7。0简体中文版和Opera7。简体中文版),发现用这些浏览器浏览网页一切正常。

          经过笔者反复实验,发现解决超线程CPU与IE6不兼容的问题有两个办法:一是在BIOS里关闭超线程技术,二是使用其他浏览器浏览网页,如Netscape和Opera。

          编后:为此我以用户的名义致电Intel公司,公司技术人员承认存在上述问题,并说这不是主板和CPU的原因,是微软的WinXP支持HT处理器有问题。

          由于一些原因,我没有联系到微软的技术人员,只是在微软的Windows知识库里找到了关于这个问题的说明(地址是/default。aspx?scid=kb;en—us;),微软表示会发布补丁程序,但该补丁还需要另外测试,目前还没有公开提供下载。

          不过微软发布的WinXP SP2已经解决了这个问题,虽然中文版的WinXP SP2还要等一段时间发布,不过现在在网上已经能够下载,大家可以去下载来升级!这样算来,解决超线程CPU与IE6不兼容的问题有三个办法,除了作者提到的两个外,第三个办法就是升级WinXP SP2软件包。

          关于WinXP SP2的详细情况,请大家参考本期软件版的相关文章。

          双核变单核的原因

          朋友新配了一台Core2 Duo E的双核电脑,让装机员装好Windows XP后直接抱回了家,结果不经意间打开任务管理器,发现CPU使用记录只显示了一个核心,顿时慌了,以为买到了假货。笔者过来检查,发现在设备管理器里的确有两个核心,为什么任务管理器里就一个核心?再仔细一看,原来任务管理器CPU使用记录被设置为了“所有CPU一张图表”,真是让人哭笑不得,估计是装机员偷懒用Ghost给他装的盗版Windows XP,才出现这样的错误。在任务管理器里的“查看”选项卡的“CPU记录”里手动把“所有CPU一张图表”改为“每个CPU一张图表”,问题就解决了。

          开机几秒自动断电

          这是朋友的一台老电脑,配置是Athlon X2 +和CG主板,用了有几年了,最近突然开不了机,现象为按下机箱电源键,系统通电启动后不到秒就自动关机了。笔者帮着开箱检查了硬件,还把整个平台都从机箱里拿出来单独开机,却又一切正常。百思不得其解的时候,顺手按了几下机箱的电源键,发现有些粘滞,按下去要过一会儿才能弹起来……原来问题在这里,由于机箱开关按下去接触的时间太长,而主板的Power on信号导通超过5秒就会强制关机——真让人无语,谁会想到是这个破机箱电源键的问题呢?换机箱了事。

          hdmi没有声音怎么办

          笔者最近买了一台英寸的液晶电视,放在卧室与电脑用HDMI线连接看电影,而电脑上面还用VGA线连接了一台英寸的`LCD显示器,两个显示设备采用了双屏扩展显示的方式。最近发现电视在放电影的时候不出声,经过一番研究,找到其中缘由,特与大家分享。

          故障分析

          我使用的操作系统是Windows XP,显卡是Radeon HD,用HDMI线与液晶电视相连,音频信号自然是来自Radeon HD内置的音频单元,而在出故障的时候,很显然是音频信号没有从HDMI接口传输到电视上去。这时打开音频控制面板,发现音频设备显示的是主板集成的Realtek HD声卡——主板的声卡根本没和任何音响设备连接,怎么可能出声?按照以往的印象,正常使用时音频设备这里应该还要显示一个ATI HD Audio设备的,但出故障的时候它却不见了。无奈只好重装显卡驱动,安装完之后它又出现在了音频设备中。

          故障解决

          看来是驱动文件丢失的问题导致ATI HD Audio设备消失,重装驱动后,在音频控制面板中将它设置为默认设备,并勾选“只适用默认设备”(因为只需要用这台电脑在电视上看电影,平时用来办公时不需要发声),重启电脑后一切正常了。

          如何提升H的高清性能

          今年Intel发布的Core i3处理器与H的组合成为很多HTPC玩家关注的热点,到底它的高清能力怎么样,要如何去发挥它的硬件解码功能,相信也是很多玩家关注的,笔者在这里就把自己玩H平台高清解码的一些心得与大家分享一下。

          Clarkdale图形核心的视频功能

          对比Intel上一代的整合GMA X HD图形核心,Clarkdale进一步增强了HDTV硬件解码能力,其具备的Intel Clear Video HD技术能够真正硬件解码MPEG2、VC—1和AVC(H。)等不同编码格式的P高清视频,可支持码率高达Mb/s的Blu—Ray Full Framerate影像播放。并且增加了Dual Stream解码技术,能够同时对两部P HDTV进行双流解码。在音频方面更是增加了对Dolby TrueHD及DTS—HD MasterAudio等无损音频源码输出的支持。所以用它来搭建HTPC也是很不错的选择,不过要发挥出它全部的硬解码能力,还需要进行一番设置才行,请看后面的详细介绍。

          实战H平台高清硬解码

          测试平台:

          CPU:Core i3 (2。GHz,GPU:MHz)

          主板:微星 H—E

          内存:金士顿 DDR3 2GB×1

          (共享MB显存)

          电源:航嘉磐石

          软件环境:Windows7 旗舰版

          Intel系列芯片组显示驱动。。1。版For Vista—/Win7—

          CyberLink PowerDVD 9

          暴风影音、射手影音、完美解码、终极解码

          虽然Clarkdale图形核心能够支持MPEG2、VC—1、AVC(H。)等P高清视频的硬件解码,但由于刚上市不久,目前的很多播放软件对其支持仍不够完善。下面随笔者一起来研究一下如何正确开启Clarkdale图形核心的硬件解码功能。测试平台中选用了目前主流的Core i3 + H主板的搭配,并且使用NVIDIA和AMD的主流显卡进行硬件解码能力的对比测试。

          由于Intel在Windows XP操作系统下的显示驱动中并未加入对高清视频硬件解码功能的支持,因此如果要开启Clarkdale图形核心的硬解功能,必须要选用Vista或者Windows7操作系统。接下来介绍几个常用播放软件的硬解码开启方法。

          CyberLink PowerDVD 9

          作为最早支持显卡硬件解码的老牌播放软件之一的PowerDVD,在对Clarkdale图形核心的兼容上非常的完美,我们只需在右键“配置”菜单中调出视频设置菜单,勾选“启用硬件加速(Intel ClearVideo)”就能够打开硬件功能(图1)。在播放过程中点击“信息”选项卡,能够看到 “视频加速器:DirectX VA”显示为“使用中”,说明已经正确开启了显卡对高清视频的硬解码功能(图2)。

          暴风影音、射手影音

          在暴风影音播放器中开启硬件解码的方法也非常简单。打开高清视频后,在播放界面的左下方点击“开启高清视频方案”,选择菜单中的“Intel 解决方案(Vista_Win7)( 默认)”,就能够顺利开启硬件解码(图3)。

          射手影音虽然是一个名不见经传的播放软件,但对Clarkdale图形核心硬件解码的支持也比较好,在播放影片过程中,进入右键菜单的“画面”选项中,勾选“启用硬件加速”即可,非常方便(图4)。

          完美解码、终极解码

          完美解码与终极解码都是在高清玩家中使用率非常高的播放软件,但很可惜这两款播放器都没有提供预先设置好的针对Intel集成显卡的高清硬件方案。不过不用担心,我们完全可以手动进行添加设置。首先把两款播放软件中首选的播放器均设置为KMplayer,接着打开KMplayer播放器,进入右键菜单中的“选项→参数设置”子栏目,打开“滤镜控制→解码器使用→外部视频解码器”菜单,点击“搜索外部解码器” →“在扫描后添加”,软件就会自动搜索系统中已经安装的所有可用的视频解码器,并在菜单中列出来。

          接着我们打开暴风影音,点击“高级选项”的“高清”子菜单,进入右方对话框的“详细设置”选项中,就可以看到“Intel 解决方案(Vista_Win7)( 默认)”中各种分离器、解码器的详细配置情况(图5)。记录下这些详细设置,然后进入KMplayer播放器的“滤镜控制→分离器”、“解码器使用”设置菜单中(图6),把各个针对MPEG2、VC—1、AVC(H。)不同编码的分离器、解码器均按照暴风影音的上述方案进行修改设置,然后保存退出。

          接下来是最重要的一步,进入完美解码的解码设置中心,把“视频渲染器”改为“EVR 增强型渲染C/A”(图7),或者进入终极解码的设置中心,把“视频输出”设置为“增强型渲染—EVR”(图8)。经过上述设置之后,用完美解码或者终极解码软件进行高清播放时就能够顺利开启显卡的硬解码功能。

          从上面的测试中可以看到,Clarkdale图形核心的高清硬件解码能力非常突出,整体表现不输于NVIDIA和AMD的主流独立显卡,不过在XP下无法使用硬件解码功能确实是一个不小的遗憾。Clarkdale图形核心的出现,让Intel有了与两大显卡巨头争夺HTPC显卡市场份额的实力。Clarkdale图形核心不仅支持高清视频硬件解码,还提供了对无损音频的解码功能,在以后的文章中将会继续为大家介绍如何使用H平台进行Dolby TrueHD及DTS—HD MasterAudio等无损音频源码的输出。

          博士点评>>

          Core i3和H的发热量和功耗都很低,无论是软解码还是硬解码能力都比较不错,用来做HTPC平台是很好的选择,而高清硬解码的播放软件设置一直是个难点,对于很多玩家来说,在这些需要手动设置解码器、分离器、渲染模式的播放软件面前都只能望而却步。本期我们的DIY明星林以诺和大家分享了他在玩H平台硬解码方面的经验和技巧,相信也解决了不少朋友的难题。如果你也有什么DIY的经验技巧,也不妨拿出来和大家分享,DIY研究所就是展现你能力的舞台。

          ghost速度太慢怎么办

          笔者的朋友买了一台配备了四核2。GHz处理器、2GB内存的电脑,但在使用过程中却发现使用Ghost备份/还原系统的速度很慢,每分钟只有MB~MB,这明显是不正常的。

          影响Ghost速度的原因

          我们知道,影响备份/还原速度通常有以下几个原因:

          1。备份时选择不同的压缩比,会有不同的备份还原速度。

          在用Ghost做镜像文件的时候有三个选项:fast、normal、high,分别指的是三种压缩比模式。选择fast则是较低的压缩比,做出来的镜像文件比较大,但是速度非常快;选择high则是较高的压缩比,做出来的镜像文件较小,可以省下不少空间,但是进行的速度却非常慢。那么在还原的时候,也就是在解压缩的时候也是这样的情况。

          2。主板BIOS中有关磁盘工作方式的设置。

          磁盘的工作方式也会对备份/还原系统的速度造成很大的影响。

          解决方法

          针对以上几点,可采取以下办法:

          1。现在的硬盘容量都比较大,如果硬盘空间不是特别紧张的话,建议选择低压缩(fast模式),这样备份还原的速度就快。这里笔者就选择了fast模式。

          2。在主板BIOS中优化设置。启动时,按DEL键(或F2键,BIOS不同则按键有所不同)进入BIOS设置,选择Integrated peripherals(管理主板集成设备和端口的选项),再选择Onchip IDE Device(IDE设备,主要包括硬盘和光驱设备),接下来可以看到:IDE HDD Block Mode(IDE硬盘块模式),设定值有: Disabled (禁用)和Enabled(开启)。

          这里笔者选择了Enabled,可以允许硬盘用快速块模式(Fast Block Mode)来传输数据。打开之后,就能加快备份/还原的速度。

          经过以上调节,朋友的电脑用Ghost备份/还原的速度终于突破1GB/min了,这是一个比较正常的速度。

Elasticsearch date 类型详解

       å¼•è¨€

        一直对 elasticsearch 中的 date 类型认识比较模糊,而且在使用中又比较常见,源码源码解析06这次决定多花些时间,彻底弄懂它,希望能对用到的同学提供帮助。

        注意:本文测试使用是 elasticsearch 6.3 版本,其他版本规则可能有所变化,如遇到不兼容的情况,还请参考  官方文档

        Date 数据类型

        elasticsearch 数据是以 JSON 格式存储的,而  JSON 中是并没有  date  æ•°æ®ç±»åž‹ï¼Œå› æ­¤ Elasticsearch 中虽然有  date  ç±»åž‹ï¼Œä½†åœ¨å±•ç¤ºæ—¶å´è¦è½¬åŒ–成另外的格式。

        date  ç±»åž‹åœ¨ Elasticsearch 展示的格式有下面几种:

        将日期时间格式化后的字符串,如 "--" 或者 "// ::"

        long 型的整数,意义是  milliseconds-since-the-epoch ,翻译一下就是自  -- :: UTC  ä»¥æ¥ç»è¿‡çš„毫秒数。

        int 型的整数,意义是  seconds-since-the-epoch , 是指自  -- :: UTC  ä»¥æ¥ç»è¿‡çš„秒数。

        后两种的描述里都包含 UTC ,什么是 UTC 呢?

        UTC(Universal Time Coordinated) 叫做世界统一时间,中国大陆和 UTC 的时差是 + 8 ,也就是 UTC+8。

        不论 date 是什么展示格式,在 Elasticsearch 内部存储时都是转换成 UTC,并且把时区也会计算进去,从而得到  milliseconds-since-the-epoch  å¹¶ä½œä¸ºå­˜å‚¨çš„格式。

        在查询日期时,会执行下面的过程:

        转换成 long 整形格式的范围(range) 查询

        得到聚合的结果

        将结果中的 date 类型(long 整型数据)根据 date format 字段转换回对应的展示格式

        Date 的默认格式

        Date 的格式化类型是可以通过  format  æ¥æŒ‡å®šçš„,如果没有指定,就会使用默认的格式:

        "strict_date_optional_time||epoch_millis"

        这表示什么意思呢?

        先来弄懂  strict_date_optional_time

        A generic ISO datetime parser where the date is mandatory and the time is

        optional.  Full details here .

        这是 elasticsearch 官网的解释,表示只要是 ISO datetime parser 可以正常解析的都是  strict_date_optional_time 。都有哪些语法呢?

        date-opt-time=date-element ['T'[time-element] [offset]]date-element      = std-date-element | ord-date-element | week-date-element std-date-element  = yyyy ['-'MM ['-'dd]] ord-date-element  = yyyy ['-'DDD] week-date-element = xxxx'-W'ww ['-'e]time-element      = HH [minute-element] | [fraction] minute-element    =':'mm [second-element] | [fraction] second-element    =':'ss [fraction] fraction          = ('.'|',') digit+

        其中中括号内的都是可选的,可填可不填。以  std-date_element  ä¸¾ä¸ªä¾‹å­

        --

       

        -

        上面 3 种格式都满足要求。

        除了  strict_date_optional_time  ï¼Œè¿˜å¯ä»¥æ˜¯ epoch_millis 格式,即 epoch 以来的毫秒数。

        举个例子

        PUT my_index{ "mappings": { "_doc": { "properties": { "date": { "type":"date"}      }    }  }}PUT my_index/_doc/1{ "date":"--"} PUT my_index/_doc/2{ "date":"--T::Z"} PUT my_index/_doc/3{ "date":} GET my_index/_search{ "sort": { "date":"asc"}

        上面的 PUT 请求中的 date 数据均满足默认的要求。

        如何指定多个 date 格式?

        同一个 date 字段可以指定多个 date 格式,只要使用 || åˆ†éš”就可以了。在索引,都会对 date 格式挨个进行匹配,直到找到匹配的格式为止。

        如果存储时 date 格式为  milliseconds-since-the-epoch  ï¼Œåœ¨æŸ¥è¯¢æ—¶ä¼šå°†å…¶è½¬æ¢ä¸ºæŒ‡å®šçš„第一个 date 格式。

        举个例子,有兴趣的同学可在 sense 中动手实践下。

        PUT my_index{ "mappings": { "doc": { "properties": { "date": { "type":"date","format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"}      }    }  }}PUT /my_index/doc/1{ "date":"-- ::"}PUT /my_index/doc/2{ "date":"--"}GET my_index/_search{ "query": { "match_all": { }  }}

        小结

        本文主要讲解了 elsaticserach 中的 date 类型格式,语法及转换过程。elasticsearch 中存储 date 类型统一使用  milliseconds-since-the-epoch  æ ¼å¼ï¼Œå±•ç¤ºæ—¶æ ¹æ®ä¸åŒæ ¼å¼è€ŒåŒºåˆ†ã€‚                                                                                      æ¬¢è¿Žå·¥ä½œä¸€åˆ°äº”å¹´çš„Java工程师朋友们加入Java群: 

        群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

copyright © 2016 powered by 皮皮网   sitemap