【chrt 源码】【湖口开源码头】【聚友吧源码】quake3 源码 编译

时间:2024-11-26 21:37:03 编辑:VS有多个源码 来源:appletv7源码

1.加布·纽维尔人物简介
2.常见的源译文件格式有哪些
3.quake3内存池分析
4.Linux如何配置nVIDIA显卡驱动

quake3 源码 编译

加布·纽维尔人物简介

       åŠ å¸ƒÂ·çº½ç»´å°”

       åŠ å¸ƒÂ·çº½ç»´å°”(GabeNewell),通常被玩家称为“G胖”。年月3日出生,所处公司:ValveSoftware。在微软工作了年之后,加布·纽维尔成立了自己的公司:ValveSoftware。前一个经历给了他充分的商业运作经验,后一个经历可能更重要一点:给他带来了庞大的经济效益。当初离开微软的纽维尔,就梦想着成立一家顶级的游戏制作公司,而ValveSoftware在没推出几款游戏的情况下,就已经实现了他的梦想。Valve在成立之初就拥有大量的资金保证,这是只有少数几家游戏公司能够做到的,情况并不多见。《半条命》的开发时间也比一般的游戏长得多,而正是因为资金充裕的缘故,没有发行商方面的压力,这样就使公司能够做到尽善尽美。结果游戏以超强的AI、出色的剧本、漂亮的画面和有趣的多人连线模式获得了玩家的首肯,在商业和评论上都获得了巨大的成功。

       ä¸­æ–‡åï¼šåŠ å¸ƒÂ·çº½ç»´å°”

       å¤–文名:GabeNewell

       åˆ«åï¼šG胖

       å›½ç±ï¼šç¾Žå›½

       å‡ºç”Ÿæ—¥æœŸï¼šå¹´æœˆ3日

       èŒä¸šï¼šå•†äºº

       ä¸»è¦æˆå°±ï¼šæˆç«‹å…¬å¸ValveSoftware

       ä»£è¡¨ä½œå“ï¼šValveSoftware

       æ€§åˆ«ï¼šç”·

       æŒ‡å¯¼ç†å¿µ

       çº½ç»´å°”对于业界的贡献还在于他先进的指导理念,在他的领导下不仅让公司做出了好的游戏,而且还利用网络真正发挥了业余游戏设计爱好者的能力,从而扩展了自己出品的游戏,提升了自己公司的价值。在《半条命》开发时,他就通过网络广泛招揽那些擅长修改“QUAKE”3D引擎的业余设计者;(《半条命》采用的就是“QUAKE2”引擎的修改版)而在游戏推出后,又在网络上放出免费的资料片《军团要塞》,其中包括游戏的源代码,以便业余MOD爱好者制作更好的修改版。

       ä¸ä»…如此,Valve还举办“MOD展览会”,邀请各方高手参观交流。很快公司对于MOD的重视得到了回报,诞生了最有名的MOD出身的游戏:《反恐精英》(Counter-Strike),这款本来是网络传播的小计划产物迅速成为了当今最红的网络游戏,从免费的MOD制品成为了收益巨大的零售产品——Valve拥有将MOD制品零售的权利。

       å°½ç®¡ã€ŠåŠæ¡å‘½ã€‹å·²å‡ºå“å¤šå¹´ï¼Œè‡³ä»Šä¾ç„¶æ˜¯ä¸€æ¬¾å…·æœ‰æ·±è¿œå½±å“çš„游戏。有人认为这个游戏的成功只不过是纽维尔的Valve公司撞大运而已,但是事实却证明是纽维尔的先进理念,利用网络和业余设计团体取得了今天的成就。长时间的沉寂让人对Valve正在制作的产品感到非常好奇,结果年的E3展上,《半条命2》横空出世,纽维尔的Valve公司又向人们展现了其3D技术的高超能力,该游戏的强劲引擎已经震撼了整个游戏业界,尽管由于源代码被盗事件让这款游戏再度陷入难产时期,但这款游戏推出的时候,意味着又一个巨大的成功到来。

常见的文件格式有哪些

       常见的文件格式有:

       A

       AAC:MPGE-4高级音频编码

       ACC:苹果设备的专属音乐格式

       ACE:Ace压缩档案格式

       ACT:Microsoft office助手文件

       AIF,AIFF:音频互交换文件,码编Silicon Graphic and Macintosh应用程序的源译声音格式

       ANI:Windows系统中的动画光标

       APK:AndroidPackage /Android(安卓)安装包,APK是码编类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装

       APS:开发环境使用的源译资源文件,若要修改资源需要修改3个文件,码编chrt 源码.aps文件.rc文件 Resource.h

       ARC:LH ARC的源译压缩档案文件

       ARJ:Robert Jung ARJ压缩包文件

       ASD:Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming

       format,ASF)的码编描述文件;可用NSREX打开 Velvet Studio例子文件

       ASF:Microsoft高级流媒体格式文件

       ASM:汇编语言源文件,Pro/E装配文件

       ASP:动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件

       AST:Astound多媒体文件;ClarisWorks“助手”文件

       avi:Windows视频文件

       Axx:ARJ压缩文件的源译分包序号文件,用于将一个大文件压至几个小的码编压缩包中(xx取-的数字)

       A3L:Authorware 3.x库文件

       A4L:Authorware 4.x库文件

       A5L:Authorware 5.x库文件

       A3M,A4M:Authorware Macintosh未打包文件

       A3W,源译A4W,码编A5W:未打包的源译Authorware Windows文件

       B

       BAK:备份文件

       BAS:Visual Basic Module VB6模块文件

       BAT:批处理文件

       BDICT:百度输入法词库文件

       BIN:二进制文件,其用途依系统或应用而定

       BINHex:苹果的码编一种编码格式

       BMP:Windows或OS/2位图文件

       BOOK:Adobe FrameMaker Book文件

       BOX:Lotus Notes的邮箱文件

       BPL:Borlard Delph 4打包库

       BPS:百度输入法皮肤文件

       BSP:Quake图形文件

       BUN:CakeWalk 声音捆绑文件(一种MIDI程序)

       C

       C:C代码文件

       C0l:台风波形文件

       CAB:Microsoft压缩档案文件

       CAD:Softdek的Drafix CAD文件

       CAM:Casio照相机格式

       CAP:压缩音乐文件格式

       CAS:逗号分开的ASCⅡ文件

       CCB:Visual Basic动态按钮配置文件

       CCH:Corel图表文件

       CCO:CyberChat数据文件

       CCT:Macromedia Director Shockwave投影

       CDA:CD音频轨道

       CDF:Microsoft频道定义格式文件

       CDI:Philip的高密盘交互格式

       CDM:Visual dBASE自定义数据模块文件

       CDR:CorelDRAW绘图文件;原始音频CD数据文件

       CDT:CorelDRAW模板

       CDX:CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件

       CFG:配置文件

       CGI:公共网关接口脚本文件

       CGM:计算机图形元文件

       CH:OS/2配置文件

       CHI:.CHM文件的一个索引,用来支持对应的源译.CHM文件中的搜索功能,要和同名的.CHM文件放到一起用

       CHK:由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片

       CHM:HTML格式的帮助文档

       CHP:Ventura Publisher章节文件

       CHR:字符集(字体文件)

       CHT:ChartViem文件;Harvard Graphics矢量文件

       CIF:Adaptec CD 创建器 CD映像文件

       CIL:Clip Gallery下载包

       CIM:SimCity 文件

       CIN:OS/2改变控制文件用于跟踪INI文件中的变化

       CLASS:Java类文件

       CLP:Windows 剪贴板文件

       CLL:Crick Software Clicker文件

       CLS:Visual Basic类文件

       CMD:Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件

       COM:操作系统中的二进制可执行文件,可执行文件分两种一种是后辍名为.COM另一种就是.EXE 了,.COM一般用于DOS。

       CPI:Microsoft MS-DOS代码页信息文件

       CPL:控制面板扩展名,Corel颜色板

       CPP:C++代码文件

       CPR:Corel提供说明书文件

       CPT:Corel 照片-绘画图像

       CSS:层叠样式表文档,配合HTML使用,单独专门定义样式表

       CST:Macromedia Director Cast文件

       CSV:Comma Separated Value逗号分隔值,通常都是纯文本文件

       CTL:Visual Basic User Control VB6.0用户自定义控件

       CTX:Visual Basic User Control Binary FileVB6.0用户自定义控件二进制缓存文件

       CUR:Windows光标文件

       D

       DAT:数据流格式,DAT文件也是MPG格式的,是VCD刻录软件将符合VCD标准的MPEG-1文件自动转换生成的。也有数据文件的后缀名为.DAT,文件格式不确定,任何文件的后缀名都可以设为.DAT,因为读取数据不是从后缀名判断的,而是从文件格式判断

       DB:数据库文件,Thumbs.db是缩略图缓存

       DBF:dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel

       打开);Oracle 8.1.x表格空间文件

       DBX:DataBearn图像;Microsoft Visual FoxPro表格文件

       DCF:数码照相机统一记录格式,DCF 也有音频格式

       DCT:Microsoft Visual FoxPro数据库容器

       DCU:Delphi编译单元文件

       DCX:Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏

       DIR:MacromediaDirector文件

       DLF:一种INI配置文件格式的语言文件

       DLL:动态链接库

       DOC: Microsoft Word 文档文件

       DOCX:Microsoft Word 文档文件

       Perfect文档、Microsoft:Word文档;DisplayWrite文档

       DOT:Microsoft Word文档模板

       DPL:Borland Delph 3压缩库

       DRV:驱动程序

       DRW:Micrografx Designer/Draw;Pro/E绘画文件

       DSF:Micrografx Designer VFX文件

       DSG:DOOM保存的文件

       DSM:Dynamic Studio音乐模块(MOD)文件

       DSP:Microsoft Developer Studio工程文件

       DSQ:Corel QUERY(查询)文件

       DST:刺绣机图形文件

       DSW:Microsoft Developer Studio工作区文件

       DTA:World Bank(世界银行)的STARS数据文件

       DTD:SGML文档类型定义(DTD)文件

       DTED:地面高度数字数据(图形的数据格式)文件

       DTF:Symantec Q&A相关的数据库数据文件

       DTM:DigiTrakker模块文件

       DUN:Microsoft拔号网络导出文件

       DV:数字视频文件(MIME)

       DWG:AutoCAD工程图文件;AutoCAD或Generic CADD老版本的绘图格式

       DXR:Macromedia Director受保护(不可编辑)**文件

       E

       E:易语言代码源文件

       EC:易语言模块文件

       EDA:Ensoniq ASR磁盘映像

       EDD:元素定义文档(FrameMaker+SGML文档)

       EDE:Ensoniq EPS磁盘映像

       EDK:Ensoniq KT磁盘映像

       EDQ:Ensoniq SQ1/SQ2/Ks磁盘映像

       EDS:Ensoniq SQ磁盘映像

       EDV:Ensoniq VFX-SD磁盘映像

       EFA:Ensoniq ASR文件

       EFE:Ensoniq EPS文件

       EFK:Ensoniq KT文件

       EFQ:Ensoniq SQ1/SQ2/Ks文件

       EFS:Ensoniq SQ文件

       EFV:Ensoniq VFX-SD文件

       EMD:ABT扩展模块

       EMF:Windows增强元文件

       EML:Microsoft Outlook Express邮件消息(MIME RTC)文件

       EOT:是一种压缩字库,目的是解决在网页中嵌入特殊字体的难题,目前只有微软的湖口开源码头IE浏览器支持

       EXE:可执行文件(程序)

       F

       FAV:Microsoft Outlook导航条

       FAX:传真类型图像

       FCD:虚拟CD-ROM

       FDF:Adobe Acrobat表单文档文件

       FLA:Macromedia Flash动画源文件

       FLAC:无损音频压缩编码

       FLV:Flash视频文件

       FNE:易语言的其中一种支持库文件,用于在易语言中装载和提供对应的命令和方法,易语言支持库还有FNR格式、NPK格式以及LPK文件包等。

       FND:Microsoft Explorer保存的搜索文件(Find applet)

       FNR:FNR文件是易语言的其中一种支持库文件,用于在易语言中装载和提供对应的命令和方法,但是与FNE格式支持库不同的是,FNR不带编辑信息,有运行支持代码的支持库。

       FON:系统字体

       FRM:Visual Basic Form File VB6.0窗体文件

       FRT:Microsoft FoxPro报表文件

       FRX:Visual Basic表单文本;Microsoft FoxPro报表文件

       FXP:经Microsoft FoxPro编译的源文件

       G

       GDM:铃声、口哨声和声音板模块格式

       GetRight:GetRight未完成的下载文件

       GHO:Norton 克隆磁盘映像

       GID:Windows 全局索引文件(包括帮助状态)

       GiF:动态文件

       GL:动画格式

       GRP:程序管理组

       H

       H:C/C++ Header 头文件

       HEX:Macintosh BinHex2.0文件

       HLP:帮助文件;Date CAD Windows帮助文件

       HPP:C++程序头文件

       HQX:Macintosh BinHex 4.0文件

       HT:HyperTerminal(超级终端)

       HTM,HTML:超文本文档

       HTT:Microsoft超文本模板

       HTX:扩展HTML模板

       I

       ICO:Windows图标

       IDX:Microsoft FoxPro相关数据库索引文件;Symantec Q&A相关数据库索引文件;Microsoft Outlook

       Express文件

       IMG:GEM映像

       INC:Include File 引用文件,ASP中也会用到

       INF:Windows操作系统下用来描述设备或文件等数据信息的文件

       INI:配置文件,ini文件格式适合程序记录一些基本的配置设置

       INP:Oracle 3.0版或早期版本的表单源代码

       INRS:INRS远程通信声频

       INS:InstallShield安装脚本;X-Internet签字文件;Ensoniq EPS字簇设备;Cell/ⅡMAC/PC抽样设备

       INT:中间代码,当一个源程序经过语法检查后编译产生一个可执行代码

       IOF:Findit文档

       IQY:Microsoft Internet查询文件

       ISO:根据ISD 有关CD-ROM文件系统标准列出CD-ROM上的文件

       ISP:X-Internet签字文件

       ISS:Inno Setup 项目脚本文件 (Inno Setup 是一种安装包生成工具)

       IST:数字跟踪设备文件

       ISU:InstallShield卸装脚本

       IT:脉冲跟踪系统音乐模块(MOD)文件

       ITI:脉冲跟踪系统设备

       ITS:脉冲跟踪系统抽样,Internet文档位置

       IV:Open Inventor中使用的文件格式

       IVD:超过/微观数据维数或变量等级文件

       IVP:超过/的用户子集配置文件

       IVT:超过/表或集合数据文件

       IVX:超过/微数据目录文件

       IW:Idlewild屏幕保护程序

       IWC:Install Watch文档

       J

       J:Ricoh照相机格式

       JAR:Java档案文件(一种用于applet和相关文件的压缩文件)

       JAVA:Java源文件

       JAVA:Java源文件

       JFF,JFIF,JIF:JPEG文件

       JPE,JPEG,JPG:JPEG图形文件

       JS:javascript源文件

       JSP:HTML网页,其中包含有对一个Java servlet的参考

       K

       KAR:卡拉OK MIDI文件(文本+MIDI)

       KEY:授权文件

       L

       LAB:Visual dBASE标签文件

       LBT,LBX:Microsoft FoxPro标签文件

       LDB:Microsoft Access加锁文件

       LHA:LZH更换文件后缀

       LIB:Windows系统中的库文件,分为两种,静态库与动态库

       LIC:License 用户许可证书文件

       LNK:快捷方式文件

       LOG:日志文件

       LPK:LPK文件是易语言的其中一种支持库安装包,包含".FNE"、".FNR"、相关例程和文档的全部或部分文件。用于在易语言中装载和提供对应的命令和方法

       LST:列表文件 /MASM Listing

       LUA:LUA脚本语言文件

       LZH:LH ARC压缩档案

       M

       M1V:MPEG相关文件(MIME"mpeg"类型)

       M3D:Corel Motion 3D动画文件

       M3U:MPEG URL(MIME声音文件)

       MAM:Microsoft Access宏

       MAQ:Microsoft Access查询文件

       MAR:Microsoft Access报表文件

       MBX:Microsoft Outlook保存email格式;Eudora邮箱

       MCW:Microsoft Word的Macintosh文档

       MDB:Microsoft Access数据库

       MDN:Microsoft Access空数据库模板

       MDW:Microsoft Access工作组文件

       MID:MIDI音乐

       MKV:视频文件

       MMM:Microsoft多媒体

**

       MOV:QuickTime for Windows视频文件

       MP2:第二层MPEG音频文件

       MP3:第三层MPEG音频文件

       MP4:视频或音频文件

       MPA:MPEG相关文件,MIME“mpeg类型”

       MPE,MPEG,MPG:MPEG动画文件

       MPP:Microsoft工程文件;CAD绘图文件格式

       MPR:Microsoft FoxPro菜单(已编译)

       MSI:Windows 安装器包

       MSN:Microsoft 网络文档;Descent Mission文件

       N

       NPK:NPK属于易语言COM包装支持库,该支持库是引用COM包装库生成的,例如WebBrowser、Windows媒体播放器。该扩展名格式支持库可用记事本打开。

       O

       OBD:Microsoft Office活页夹

       OBJ:对象文件

       OBZ:Microsoft Office活页夹向导

       OCX:Microsoft对象链接与嵌入定制控件

       ODS:Microsoft Outlook Express邮箱文件

       OFT:Microsoft Outlook模板

       OPX:OPL扩展DLL(动态链接库)

       OSS:Microsoft Office查找文件

       OST:Microsoft Exchange / Outlook 离线文件

       P

       PAL:压缩文件

       PART:Go!Zilla部分下载文件

       PAS:Pascal源代码

       PCS:PICS动画文件

       PDF:Adobe Acrobat

       可导出文档格式文件(可用Web浏览器显示);Microsoft系统管理服务器包定义文件;NetWare打印机定义文件

       PEM:OpenSSL 使用 PEM 文件格式存储证书和密钥。PEM 实质上是 Base 编码的二进制内容,再加上开始和结束行BEGIN CERTIFICATE、ENDCERTIFICATE,在这些标记外面可以有额外的信息,如编码内容的文字表示。文件是 ASCII 的,可以用任何文本编辑程序打开

       PHP,聚友吧源码PHP3:包含有PHP脚本的HTML网页

       PHTML:包含有PHP脚本的HTML网页;由Perl分析解释的HTML

       PM5:Pagemaker 5.0文件

       PM6:Pagemaker 6.0文件

       PNG:可移植图像文件

       PPS:Microsoft Powerpoint幻灯片放映

       PPT:Microsoft Powerpoint演示文稿

       PRF:Windows系统文件,Macromedia导演设置文件

       PSD:Adobe photoshop位图文件

       PSM:Protracker Studio模型格式;Epic游戏的源数据文件

       PST:Microsoft Outlook个人文件夹文件

       PWL:Windows 口令列表文件

       Q

       QIF:QuickTime相关图像(MIME);Quicken导入文件

       QPYD:QQ拼音输入法词库文件

       QPYS:QQ拼音输入法皮肤文件

       QT,QTM:QuickTime

**

       QTI,QTIF:QuickTime相关图像

       QTP:QuickTime优先文件

       QTS:Mac PICT图像文件;QuickTime相关图像

       QTX:QuickTime相关图像

       R

       RA:RealAudio声音文件

       RAM:RealAudio元文件

       RAR:Windows RAR压缩文件

       RC:Resource Script开发环境使用的资源文件,若要修改资源需要修改3个文件,.aps文件.rc文件 Resource.h

       REC:录音机宏;RapidComm声音文件

       REG:注册表文件

       REP:Visual dBASE报表文件

       RES:Microsoft Visual Studio资源文件

       RM:RealAudio视频文件

       RMF:Rich Map格式(3D游戏编辑器使用它来保存图)

       ROM:基于盒式磁带的家庭游戏仿真器文件(来自Atari 、Colecovision、Sega、Nintendo等盒式磁带里的ROM完全拷贝,在两个仿真器之间不可互修改)

       RTF:Rich Text Format 富文本格式(也有称为多文本格式)

       Rxx:多卷档案上的RAR压缩文件(xx=1~间的一个数字)

       S

       SAV:游戏保存文件

       SB:原始带符号字节(8位)数据

       SBK:Creative Labs的Soundfont 1.0 Bank文件;(Soundb laster)/EMU SonndFont v1.x Bank文件

       SBL:Shockwave Flash对象文件

       SCC:Microsoft SourceSafe Status 在VB6.0中是管理记录文件

       SCF:Windows Explorer命令文件

       SCH:Microsoft Schedule+1

       SCP:拨号网络脚本文件

       SCR:Windows屏幕保护;传真图像;脚本文件

       SFX:RAR自解压档案

       SHTML:含有服务器端包括(SSI)的HTML文件

       SKN:皮肤文件,QQ拼音输入法的皮肤源文件也是.skn

       SLN:Microsoft Visual Studio Solution VS开发环境的解决方案文件

       SPL:Shockwave Flash对象;DigiTrakker抽样

       SQL:Informix SQL查询;通常被数据库产品用于SQL查询(脚本、文本、二进制)的文件扩展名

       STF:Microsoft 安装文件

       STM:.shtml的短后缀形式,含有一个服务端包括(SSI)的HTML文件;Scream Tracker V2音乐模块(MOD)文件

       STR:屏幕保护文件

       SVG:一种用XML定义的语言,用来描述二维矢量及矢量/栅格图形

       SWA:在Macromedia导演文件(MP3文件)中的Shockwave声音文件

       SWF:Flash动画文件

       SYS:系统文件

       T

       T:Commodore 仿真器磁带映像文件

       TDF:Text Design File 是一个文字格式,或者是一个字幕文件格式

       THEME:Windows 桌面主题文件

       TIF,TIFF:标签图像文件格式(TIFF)位图

       TLB:类似于.ocx,是一种ActiveX文件

       TMP:Windows临时文件

       TORRENT:BT种子文件

       TRM:终端文件

       TTF:TrueTypeFont是Apple公司和Microsoft公司共同推出的字体文件格式

       TXT:Windows文本文档

       TZ:老的压缩格式文件

       V

       VBA:VBase文件

       VBP:Microsoft Visual Basic工程文件

       VBW:Microsoft Visual Basic工作区文件

       VBX:Microsoft Visual Basic用户定制控件

       VCXPROJ:VC++ Project / C++ 工程文件

       VCXPROJ.FILTERS:VC++ Project Filters File / C++项目文件虚拟目录

       VCXPROJ.USER:Visual Studio Project User Options file / 项目用户配置

       VOB:DVD视频文件

       VQE,VQL:Yamaha Sound-VQ定位器文件

       VQF:Yamaha Sound-VQ文件(可能出现标准)

       VRF:Oracle 7配置文件

       VSL:下载列表文件(GetRight)

       W

       WAB:Microsoft Outlook文件

       WAD:包含有视频、玩家水平和其他信息的DOOM游戏的大文件

       WAL:Quake 2正文文件

       WAV:Windows波形声形

       WBK:Microsoft Word备份文件

       WFM:Visual dBASE Windows表单

       WFN:在CorelDRAW中使用的符号

       WIZ:Microsoft Word向导

       WOFF:Web Open Font Format Web开放字体格式,是一种网页所采用的字体格式标准

       WRL:虚拟现实模型

       WWL:Microsoft Word内插器文件

       X

       XLK:Microsoft Excel备份

       XLL:Microsoft Excel内插器文件

       XLM:Microsoft Excel宏

       XLS:Microsoft Excel 电子表格

       XLSB:Microsoft Excel 二进制电子表格

       XLSX:Microsoft Excel 电子表格

       XLT:Microsoft Excel模板

       XLV:Microsoft Excel VBA模块

       XLW:Microsoft Excel工作簿/工作区

       XML:可扩展标记语言

       Z

       ZAP:Windows软件安装配置文件

       zip:Windows RAR 压缩文件

       -:用于为老版本(或备份)文件编号(比如:被安装程序改变的CONFIG.SYS文件);又可用于为小范围的PC应用程序的多个用户相关数据文件编号

       M:Lotus 1-2-3 SmartMaster文件

       :Lotus 1-2-3 文件

       2D:VersaCAD的2维绘画文件

       2GR,3GR:在Windows之下的VGA图形驱动程序/配置文件

       :在或更高级处理器上使用的文件

       3D:VersaCAD的3维绘画文件

       3DM:3D NURBS建模器,Rhino

       3DS:3D Studio(DOS下)格式文件

       4GE:Informix 4GL编译后代码

       4GL:Informix 4GL源代码

quake3内存池分析

       深入剖析雷神之锤III:quake3内存池的秘密

       quake3,这款由ID Software以id Tech3引擎打造的经典射击游戏,展现了一种独特的内存管理技术——内存池。它通过预先分配内存单元,实现了按需分配和回收,从而避免内存碎片,显著提升了游戏性能。这种设计的亮点在于其无内存碎片、高效管理和精简代码,充分体现了卡马克大师的匠心独运。

       内存池的核心组件是精心设计的结构。每个内存块,memblock_t,包含大小(包括头和可能的碎片)、标记(0表示空闲)、以及双向链表指针next和prev,还有它所属于的ZONEID标识。zonedebug_t用于调试时记录分配详情,而memblock_t和memzone_t则分别管理单个内存块和整个内存池,跟踪内存使用情况和链表状态。

       ZONEID标签用于内存分配,闲鱼助手源码MINFRAGMENT定义了最小分配单元。在调试模式下,内存分配接口如Z_TagMallocDebug、Z_MallocDebug等提供了详尽的调试信息。这些接口在RELEASE模式下简化为Z_TagMalloc、Z_Malloc等,以便于性能优化。

       内存分配和释放的关键在于ZONE MEMORY BLOCK的管理。当内存需求大于现有空闲块时,会创建新的块,确保浪费不超过最小字节。释放内存时,会标记为空闲,并可能合并相邻的空闲块。quake3采用了轮询策略寻找空闲块进行分配,同时区分长期和临时分配,如Hunk内存池。

       内存管理的精妙之处在于细节:现代编译器和操作系统已经提供了优化内存分配的能力,但quake3内存池的设计理念仍然值得学习。Hunk内存池,除了zone,专为文件系统和临时内存分配设计,通过HunkBlock和HunkHead结构存储详细信息,便于追踪和调试。

       在Hunk内存池中,分配内存的过程涉及Hunk_Alloc和HunkTempAlloc函数,它们根据需求在内存两端切换,保证了灵活性。然而,Temp分配可能导致后续Hunk分配时的指针问题,释放时可能会引发内存池管理的异常。关于Hunk内存池的具体运作机制,源代码中或许隐藏着更深的秘密等待挖掘。

       总的来说,quake3的内存池设计不仅高效,而且在细微之处体现了卡马克的大师智慧。在深入理解这些技术后,即使在资源有限的环境中,也能通过巧妙的内存管理实现性能的极致优化。

Linux如何配置nVIDIA显卡驱动

       在图形芯片领域,nVidia是一个后来者,它的历史仅相当于ATi的一半。年初,最新微商城源码NVIDIA 由 Jen-Hsun Huang,,Chris Malachowsky和 Curtis Priem 三人共同创办,但是,nVidia又一度是图形处理芯片领域的最强者,nVIDIA出品的Linux驱动安装软件工具包将自动检查计算机的各种细节,并能自动安装好各种驱动程序。这里介绍一下驱动安装、升级的简单过程。Linux系统自带的驱动程序只包括了nVIDIA 2D加速,如果需要获取更好的3D加速效果,需要安装nVIDIA专用驱动软件工具包。3D 硬件加速在需要绘制三度空间对象的时候是非常宝贵的,例如游戏、三维CAD、以及 3D 成像。本文应用环境是Red Had Enterprise Linux 4.0、nVIDIA显卡型号:华硕N/TD/M(AGP)。

       一、准备工作

       在配置nVIDIA显卡 之前, 您需要了解所安装的系统的下列信息:显示器规格,显示卡的芯片类型,显示卡的显存容量, 显示器的规格被 X 用来决定显示的分辨率和刷新率。这些规格通常可以从显示器所带的文档中, 以及制造商的网站找到。 需要知道两个数字范围:垂直刷新率和水平刷新率。 显示卡的芯片类型将决定 X 使用什么模块来驱动图形硬件。 绝大多数的硬件都能被自动检测,但是了解它在自动检测出错的时候还是很有用处的。显示卡的显存大小决定了系统支持的分辨率和颜色深度。了解这些限制非常重要。因为安装驱动程序可能需要配合核心来编译,所以会使用到内核源代码,此外,也需要编译器 ( compiler ) 的帮助,因此,先确定您的 Linux 系统当中已经下列软件的存在 :kernel-source 、kernel 、gcc 、make。 打开一个终端,使用命令检查:

       # rpm -qa | grep gcc;rpm -qa | grep make;rpm -qa | grep kernel

       如果没有3D API在开发程序时,程序员必须要了解全部的显卡特性,才能编写出与显卡完全匹配的程序,发挥出全部的显卡性能。而有了3D API这个显卡与软件直接的接口,程序员只需要编写符合接口的程序代码,就可以充分发挥显卡的不必再去了解硬件的具体性能和参数,这样就大大简化了程序开发的效率。 同样,显示芯片厂商根据标准来设计自己的硬件产品,以达到在API调用硬件资源时最优化,获得更好的性能。有了3D API,便可实现不同厂家的硬件、软件最大范围兼容。比如在最能体现3D API的游戏方面,游戏设计人员设计时,不必去考虑具体某款显卡的特性,而只是按照3D API的接口标准来开发游戏,当游戏运行时则直接通过3D API来调用显卡的硬件资源。 目前个人电脑中主要应用的3D API有DirectX和OpenGL。DirectX目前已经成为游戏的主流,市售的绝大部分主流游戏均基于DirectX开发,例如《帝国时代3》、《孤岛惊魂》、《使命召唤2》、《Half Life2》等流行的优秀游戏。而OpenGL目前则主要应用于专业的图形工作站,在游戏方面历史上也曾经和DirectX分庭抗礼,产生了一大批的优秀游戏,例如《Quake3》、《Half Life》、《荣誉勋章》的前几部、《反恐精英》等,目前在DirectX的步步进逼之下,采用OpenGL的游戏已经越来越少,但也不乏经典大作,例如基于OpenGL的《DOOM3》以及采用DOOM3引擎的《Quake4》等,无论过去还是现在,OpenGL在游戏方面的主要代表都是著名的ID Software。

       ·OpenGL

       继DirectX后,OpenGL可说是下一个最受欢迎的3D API。其实OpenGL比DirectX存在的时间更久,相对于DirectX只可以应用在微软的平台,OpenGL则可以应用在很多不同的操作系统上。目前,大多数Linux下的3D加速游戏采用的都是OpenGL,因此对于nVIDIA最新的驱动程序,只需做很小的改动就可以适于大多数的游戏。Linux下的3D API是基于OpenGL的。OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL。

       OpenGL的英文全称是"Open Graphics Library",顾名思义,OpenGL便是"开放的图形程序接口"。虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角。 OpenGL是个与.硬件无关的软件接口,可以在不同的平台如Windows 、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植。因此,支持OpenGL的软件具有很好的移植性,可以获得非常广泛的应用。由于OpenGL是3D图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS等3D图形设计软件制作的DFX和3DS模型文件转换成OpenGL的顶点数组。

       OpenGL不是自由软件,它的版权、商标(OpenGL这个名字)都归SGI公司所有。但在Linux下有OpenGL的取代产品:Mesa。Mesa提供和OpenGL几乎完全一致的接口,对利用OpenGL API编程的人来说,几乎感觉不到任何差异。Mesa是遵循GPL协议(部分遵循LGPL协议)的自由软件,而且,正是由于Mesa的自由性,它在对新硬件的支持度等方面都超过了OpenGL。Mesa可以从www.mesa3d.org取得。在Linux下开发OpenGL程序,最常用的工具是GLUT(The OpenGL Utility Toolkit)。它可以创建一个或多个OpenGL窗口,响应、处理用户的交互操作、简单的弹出式菜单以及一些内置的绘图和字体处理功能。GLUT和OpenGL一样,可以移植于多种平台。由于它良好的表现,现在它已经成为Mesa发布的标准套件之一。

       ·DRI,全称 Direct Rendering Infrastructure,是 X 窗口系统里允许应用程序以一种安全有效的方式直接访问显示设备的框架。它包括对 X 服务器,某些X客户端库和内核的改动。DRI 的第一个主要应用是创建快速的 OpenGL 实现。DRI 是 XFree 4.x 以及其后继者 X.org 的组成部分,也是 Mesa -个 OpenGL API 的开源实现-的组成部分。有一些3D加速驱动是按照 DRI 标准写成的,包括 ATI,Matrox,3DFX 和 Intel。 DRI 最初是由 Precision Insight, Inc. (PI) 公司在 Red Hat Inc. 和 SGI 的合作和部分资助下开发的。随着 PI 被 VA Linux 所收购,以及后来 VA Linux 退出 Linux 领域,DRI 现在由Tungsten Graphics Inc.公司继续维护。该公司由当初 PI 公司的一些 DRI 开发者所创建。Tungsten Graphics 是目前所有 DRI 开发的焦点,许多开源开发者通过 sourceforge 上的 DRI 项目继续为 DRI 贡献代码。

       二、命令行下载安装显卡驱动

       1. 首先备份原配置文件

       使用如下命令备份Xorg的配置文件(备份的文件名为xorg.conf.bak):

       # cd /etc/X;cp ./xorg.conf ./xorg.conf.bak

       2.测试安装3D驱动前的数据

       首先测试安装3D驱动程序前的显卡速度,打开一个桌面终端运行。

       #glxgears

       glxgears是一个测试你的Linux是否可以顺利运行2D、3D的测试软件,这个程序弹出一个窗口,里面有三个转动的齿轮。屏幕将显示出每五秒钟转动多少栅,所以这是一个合理的性能测试。窗户是可以放缩的,栅数多少极大程度上依赖于窗口的大小。如果你的显示卡够好,而且你的驱动程序也配合得很好,那齿轮就跑得越快。有些极品显卡(nVIDIA GeForce GT)执行glxgears之后,快到连齿轮都看不清。这里请记录下FPS数字(每秒的帧速度)以鉴别驱动是否正常安装。 (电脑技术网站 网址:为您编辑)

       早期Linux下nVidia的显示卡驱动有一个特点:所有显示卡可以使用相同的驱动程序。现在情况有所改变:由于nVIDIA公司的产品线非常长,所以需要根据你使用的显卡芯片型号选择合适的驱动程序(官方Linux驱动网址:/object/unix.html)。截至本文写作时最新版本的驱动程序是:。适合的显卡芯片:第四代GeForce显卡芯片到 GeForce XT。另外还要中央处理器型号选择驱动类型,使用位Intel Pentium4 、Pentium D 、CeleronD 中央处理器和位的AMD中央处理器使用Linux AMD/EMT驱动程序:IAnVIDIA-Linux-x_-1.0--pkg2.run ,其他X处理器使用IA驱动程序。本文以后者为例;但是如果你使用教老的显卡芯片比如:RIVA TNT、RIVA TNT2/TNT2 Pro 、RIVA TNT2 Ultra、Vanta/Vanta LT 、RIVA TNT2 Model /Model Pro、Aladdin TNT2 、GeForce 、 GeForce DDR 、Quadro 、GeForce2 GTS/GeForce2 Pro 、GeForce2 Ti 、 GeForce2 Ultra 、 Quadro2 Pro 。请使用以前的旧版本驱动程序:如。

       3、命令行下安装过程:

       ·关闭SElinux

       使用Fedora Core 3 、Fedora Core 4、Fedora Core 5 或Red Had Enterprise Linux 4 的用户要首先关闭SElinux,方法是修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启服务器。

       ·切换到命令行工作环境安装

       因为NVIDIA的显卡驱动程序安装时X服务器不能运行。使用命令或组合键"Ctrl+shift+Backspace"退出X-window,进入命令行:

       #wget /XFree/Linux-x/1.0-/NVIDIA-Linux-x-1.0--pkg1.run #init 3#.sh nVIDIA-Linux-x-1.0--pkg1.run

       run 文件可以接收许多命令行参数,下面是一些比较常见的选项:

       --info : 显示关于 .run 文件的内嵌信息并退出。

       --check : 检查档案的完整性并退出。

       --extract-only :仅解压 ./NVIDIA-Linux-x-1.0-.run但不运行。

       --help : 显示普通命令行参数的用法后退出。

       --advanced-options: 显示高级命令行参数的用法后退出。

       说明:为了截图更加清晰笔者使用远程带来工具putty登录到Linux计算机进行驱动安装。

       ·安装详细步骤:

       命令执行后是一个绿色为主的界面,询问是否接受协议件

       选择"Accept"选项接受协议开始安装

       安装完成后系统会提示是否使用nvidia-xconfig 命令更新当前配置,此时可以放心使用因为原配置是会自动备份的,选择"yes" 选项继续。

       4.检测启用Nvidia 驱动程序的"快写"(FastWrite)和"边带寻址"(Side Band Addressing) 功能。

       SBA"边带寻址",是指一种独立的地址和指令总线,图形控制芯片可以借助它来迅速地获取数据,而无需打断系统内存数据流的连续传输。为把AGP总线的传输效率与吞吐量都发挥到极致,AGP 2x协议把其中的地址总线从数据总线中单独分离了出来,在理论上是给AGP总线另添加了8条额外的边带线路。这8条额外的线路总称为边带地址端口(Sideband Address Port),简称为SBA。虽然SBA采用的是8位带宽的传输界面,但它允许图形控制芯片并行地向系统内存发出新的AGP数据请求和传输指令,同时又不干扰其他数据连续不断地通过AGP总线的主条地址数据传输线路(简称AD)。实际上,图形控制芯片也可以通过AD线路向系统内存发出新的AGP数据请求,不过这样一来,就会给AGP总线正常的数据传输增加负担,因此建议打开这8条额外的线路传输数据和指令请求。

       AGP Fast Write:即AGP快写功能,开启后可以提高AGP的传输效能,让CPU不通过主内存而直接将数据写入显示卡的显存中,提高了效率。从这两个技术的分析中,我们都可以发现,边带寻址和快写功能对显卡性能的提升都一定的帮助。

       想启用"快写"和"边带寻址"快写功能的前提是你的主板必须支持它,并且你要在 BIOS 中启用它,大部分主流主板支持。

       (1) 查看主板支持情况使用命令:"cat /proc/driver/nvidia/agp/host-bridge"

       (2) 在启用快写和边带寻址功能前请先确认你的显卡支持它。使用命令:"cat /proc/driver/nvidia/agp/card"

       (3) 如果你的显卡支持快写和边带寻址请继续做: 编辑 /etc/modules.conf加入一行:

       Options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1 NVreg_ReqAGPRATE=8

       (4) 重新启动计算机

       (5) 现在检查快写和边带寻址功能是启用状态(Enabled)还是禁用状态)(Disabled)。

       使用命令:"cat /proc/driver/nvidia/agp/status"

       启用"快写"和"边带寻址"可以帮助提高了虚幻竞技场, 雷神之锤3和其它第一人称视角射击游戏的 FPS数值。

       到此为止我们在命令行下完成对nVIDIA显卡的驱动安装。

搜索关键词:网络测速 源码