实验记录

合集下载

科研项目实验记录

科研项目实验记录

科研项目实验记录全文共四篇示例,供读者参考第一篇示例:科研项目实验记录科研项目实验记录,是科研工作中至关重要的一环。

实验记录是科研工作的数据来源,也是科研成果的重要依据。

一个完整、准确的实验记录对于科研项目的进行和成果的评估至关重要。

在科研项目中,实验记录承担着记录实验设计、实验过程、实验结果等信息的重要任务,能够帮助科研人员准确地了解项目的整体情况,指导下一步的实验方向和研究思路。

在科研项目的实验记录中,要注意以下几个方面:1.清晰的实验设计:每一次实验都应该有清晰的实验设计,包括实验目的、实验步骤、实验材料和仪器等信息。

在实验记录中,应该详细记录每一步的操作过程,确保实验的可重复性和可比性。

2.准确的数据记录:实验数据是科研项目中最重要的资料之一。

在实验记录中,要准确记录实验数据的来源、处理方法和结果,保证数据的完整性和真实性。

要注意记录实验中的异常数据或误差,以便后续的数据分析和结果解释。

3.及时的记录更新:在实验过程中,要及时记录实验的进展和结果。

实验记录不能拖延,应该在实验结束后立即进行更新和整理,确保信息的及时性和完整性。

4.详细的实验结果分析:实验记录不仅是实验过程的记录,还应该包括对实验结果的分析和解读。

在实验记录中,要详细描述实验结果的特点和趋势,分析实验中可能存在的问题和原因,为下一步实验提供参考。

科研项目实验记录是科研工作中不可或缺的一部分。

一个完整、准确的实验记录可以为科研项目的顺利进行和研究成果的取得提供重要支持。

科研人员应该重视实验记录的编写和管理,确保实验数据的可靠性和科研成果的真实性,为科研项目的成功提供有力保障。

第二篇示例:科研项目实验记录科研项目实验记录是科研工作中极为重要的一环,它记录了研究过程中所做的实验、得到的数据以及相关分析和结论。

科研项目实验记录的质量直接影响到科研项目的有效性和可靠性,科研人员应该认真对待实验记录的编写与管理工作。

科研项目实验记录是科研工作的基础,它记录了科研人员在实验中所做的所有工作、结果和结论。

探究实验室实验记录

探究实验室实验记录

(一)年级:初二实验名称:望不到尽头的长廊实验过程记录:打开电源开关,从灯箱前面的镜子往里面观察,就能看见里面有许多灯泡和挂着许多小灯笼排成一条长廊,好像看不到尽头。

(二)年级:初二实验名称:潜望镜实验过程记录:将潜望镜的上口对准外面,一人坐在凳子上,一人观察,将眼睛对着潜望镜的下口镜筒中心,用单眼观察,看见外面的图像最清。

(三)年级:初二实验名称:辉光球实验过程记录:辉光球接上电源,在辉光球内就产生了放电,用手靠近时光就集中到手上,小日光灯管靠近,日光灯也亮。

(四)年级:初二实验名称:月相仪实验过程记录:月相仪的小手电筒放入电池,打开开关,从月相仪周围的小孔来看里面中间圆球上亮光变化,与真实月亮亮光的变化与规律。

(五)年级:初二实验名称:司南实验过程记录:司南形似一把勺子,放在平滑的底上,,它能够自由旋转,稳定下来时,勺柄指南。

(六)年级:初二实验名称:磁悬浮地球仪实验过程记录:将地球仪接上电源,再把地球仪北极靠近上面,因磁铁作用能把地球仪吸在上面,然后两手抱好地球仪慢慢向下移动约1厘米,直到在空中悬浮,轻微拨动,就能自西向东转动。

(七)年级:初二实验名称:动物下坡实验过程记录:把斜面放好,把小动物放在斜面的顶端,能否自由的跳跃式下坡,若不能自由下坡,可调节斜面(八)年级:初二实验名称:竞速轨道实验过程记录:两个球放在两条不同的轨道上,同一高度上,同时放手,两球就同时在轨道上滚下,观察两球到达底部的情况。

(九)年级:初二实验名称:自由上坡的双椎体实验过程记录:将V型轨道放好,把双椎体放在轨道的低端,松手后双椎体向上滚动。

(十)年级:初二实验名称:伯努利试验器实验过程记录:气源斜向上吹气,把有机玻璃管的下端套在气泵的出风口上,打开电源开关,一股气流很快在有机玻璃里吹出去,里面的绸带就在里面循环旋转。

初中生物常见实验操作与观察记录

初中生物常见实验操作与观察记录

初中生物常见实验操作与观察记录常见的初中生物实验操作与观察记录有很多,下面我将介绍几个常见实验的操作步骤和观察记录。

实验一:观察红萝卜细胞结构材料与仪器:新鲜红萝卜、显微镜、玻璃刀、盐水、盖玻片、载玻片。

操作步骤:1.用玻璃刀切下红萝卜的一小块,并切成极薄的长方块。

2.将红萝卜长方块放入盐水中,静置5分钟。

3.取出红萝卜长方块,用盖玻片轻轻压平。

4.将压平的红萝卜长方块放在载玻片上。

5.用显微镜观察红萝卜细胞的结构,注意细胞壁、细胞质和胞核。

6.根据观察记录下细胞的特点和结构。

观察记录:红萝卜细胞壁厚实,透明,并呈现网状结构。

细胞质内含有许多颗粒状物质。

胞核位于细胞的中央,形状为椭圆形,呈现暗染色。

实验二:观察水中的浮游生物材料与仪器:显微镜、载玻片、盖玻片、净化水、水槽、过滤网。

操作步骤:1.将净化水注入水槽,用过滤网过滤杂质。

2.取一滴过滤后的水放在载玻片上。

3.将载玻片放在显微镜下,调节合适的放大倍数。

4.用显微镜观察水中的浮游生物。

5.记录下观察到的浮游生物的特征和形态。

观察记录:观察到的浮游生物有肠虫、轮虫、藻类等。

肠虫细长,有两端。

身体上有明显的环节。

轮虫扁平呈圆柱形,有许多刺状突起。

实验三:观察种子的萌发过程材料与仪器:常见的种子(如豌豆、黄瓜等)、苗盘、水、蒸馏水、棉花。

操作步骤:1.将棉花放入苗盘中,然后用蒸馏水湿润棉花。

2.将种子均匀地摆放在湿润的棉花上。

3.盖上透明的盖子,以保持湿度。

4.每隔一段时间观察种子的萌发情况,并记录下来。

5.注意观察萌发后的根部、茎部和叶片的形态和特征。

观察记录:第1天:种子开始吸水膨胀,外面的硬壳逐渐软化。

第3天:种子破裂,出现幼小的根。

第5天:根伸长,开始发芽。

第7天:发芽的种子上长出了绿色的叶片。

实验原始记录示范

实验原始记录示范

实验原始记录示范实验目的:探究酸雨对植物生长的影响,进一步了解酸雨对环境的危害。

实验设备和材料:1.植物种子(例如小麦或玉米)2.盆栽土壤3.酸雨溶液(pH值为4)4.淡水5.测量器具(例如量杯、天平、pH计)实验步骤:1.准备工作:a.将盆栽土壤平均地填满6个装有排水孔的盆中,每个盆中都种下相同数量的植物种子。

b.将6个盆分成2组,每组3个盆。

c.为实验组的盆分别注入含有酸雨溶液的水,确保溶液覆盖植物根部。

对照组的盆注入等量的淡水。

d.每个盆中的土壤与溶液保持一致。

2.生长期观察:a.每天固定时间记录每个盆中植物的生长情况。

记录植物的高度、叶片数量和颜色。

b.每周测量植物的生物量。

将植物从每个盆中小心取出,并用天平称重,记录植物的重量。

c.监测酸雨溶液的pH值,确保酸雨溶液的pH值始终保持在4左右。

3.实验结果记录:a.记录每个盆中植物的高度、叶片数量和颜色的变化情况。

b.每周记录植物的生物量,并将结果绘制成图表。

c.记录酸雨溶液的pH值的变化情况。

4.数据分析与结果讨论:a.比较控制组和实验组植物的生长情况和生物量数据,分析酸雨对植物生长的影响。

b.绘制图表展示植物生长的趋势和比较结果。

c.探讨酸雨对植物生长的可能机制和原因。

注意事项:1.确保每个盆中的植物数量和品种相同,以排除其他因素的影响。

2.确保每个盆中的土壤和水源一致,以保证实验的可比性。

3.确保酸雨溶液的pH值稳定,并及时调整至设定的pH值。

4.在观察和记录过程中要细心,避免误操作对实验结果产生影响。

本实验旨在探究酸雨对植物生长的影响,并进一步加深对酸雨对环境的危害的理解。

希望通过本实验,能够提高人们对环境保护的意识,促进人类与自然的和谐发展。

小学科学实验室使用记录

小学科学实验室使用记录

小学科学实验室使用记录实验记录一:酸碱中和反应实验目的观察酸碱中和反应的现象,并了解其中的化学原理。

实验材料•强酸(盐酸)•强碱(氢氧化钠)•酸碱指示剂(酚酞)•瓶装水•试管•实验台实验步骤1.首先将盐酸和氢氧化钠分别倒入两个试管中。

2.加入适量的酚酞指示剂到盐酸试管中。

3.逐滴将氢氧化钠溶液加入盐酸溶液中,同时观察颜色变化。

实验结果随着氢氧化钠的滴加,盐酸溶液逐渐从红色变为无色。

当溶液完全变为无色时,酸碱中和反应达到平衡。

结论实验结果表明,酸碱中和反应是指酸与碱在化学反应中相互中和的过程。

在本实验中,当盐酸与氢氧化钠溶液混合时,产生了一系列化学反应,其中一个重要的反应就是酸碱中和反应。

酸碱中和反应的结束标志是颜色变化,当溶液变为无色时,说明酸碱反应已经达到平衡。

实验记录二:水的沸腾实验实验目的观察水的沸腾现象,并了解其中的物理原理。

实验材料•水•电磁炉•烧杯•温度计•实验台实验步骤1.首先将水倒入烧杯中,保证水的深度不超过烧杯的3/4。

2.将烧杯放置在电磁炉上,调节电磁炉的功率,使其逐渐加热。

3.同时使用温度计监测水的温度变化。

4.当水的温度达到100摄氏度时,开始观察水的沸腾现象。

实验结果随着水的加热,温度逐渐上升。

当水温达到100摄氏度时,水开始剧烈地沸腾,产生大量气泡,并伴随着蒸汽的释放。

结论实验结果表明,水在受热的过程中会发生沸腾现象。

沸腾是由于水中的液体分子受到加热而转化为气体状态的过程。

在水温达到100摄氏度时,液体分子的平均动能足够高,能够克服液体的表面张力,从而形成气泡并释放蒸汽。

水的沸腾温度是固定的,当温度超过100摄氏度时,水会快速蒸发而不再沸腾。

实验记录三:光的折射实验实验目的观察光线在不同介质中的折射现象,并了解其中的光学原理。

实验材料•粗棱镜•手电筒•白纸•实验台实验步骤1.将白纸固定在实验台上,作为屏幕。

2.将手电筒打开,使其光线照射到白纸上,形成一束光线。

3.将粗棱镜放置在光线的路径上,并观察光线经过粗棱镜后的折射现象。

小学科学实验记录单_共10篇完整篇.doc

小学科学实验记录单_共10篇完整篇.doc

★小学科学实验记录单_共10篇篇一:小学科学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单XX小学实验记录单篇二:小记录单大学问——科学实验记录单的使用据记录单信息,了解学生的学习状况,更好1、讲究记录技巧,注重记录的及时性。

如何正确地进行实验记录

如何正确地进行实验记录

如何正确地进行实验记录实验记录是研究科学问题和验证科学假说的重要途径。

通过记录实验的步骤、结果和数据,科学家能够更好地理解实验现象,发现隐藏在其中的规律性和因果关系。

正确的实验记录不仅可以提高研究的可重复性和可验证性,还可以保证研究的透明度和诚信性。

本文从实验记录的目的、要求、注意事项、示例和案例分析五个方面,探讨如何正确地进行实验记录。

一、实验记录的目的实验记录的目的是为了保留实验过程和研究结果,以便进行实验现象的分析和解释。

具体来说,实验记录可以达到以下目的:1. 重现实验过程。

通过详细的实验记录,其他科学家可以重新进行相同的实验,以确认原实验的正确性和可重复性。

2. 进行数据分析。

实验记录中所记录的数据和结果可以用于进一步的数据分析和统计,为研究提供更多的证据和数据支持。

3. 验证科学假说。

科学家可以根据实验结果,判断自己的科学假说的正确性和合理性。

4. 发现规律性和因果关系。

通过对实验记录的分析,科学家可以发现实验现象中隐藏的规律性和因果关系,为研究提供更深入的思路和方向。

二、实验记录的要求为了正确地进行实验记录,有如下要求:1. 准确、详细地记录实验步骤。

实验记录应该包括实验设备的名称、型号以及使用的仪器和药品等。

并且需要准确记录实验的时间、地点和执行人员等重要信息。

2. 记录实验结果和数据。

实验结果包括实验现象和实验数据。

实验数据需要用数字或图形化表达方式表示,保证数据的准确可靠性。

3. 提供分析和结论。

对实验所得的结果进行分析和结论的阐述,为研究提供进一步的思路和方向,揭示实验中隐藏的规律性和因果关系。

4. 保护知识产权。

对于未公开的研究数据和信息,应该采取措施进行保密,避免信息泄露和侵犯知识产权。

三、实验记录的注意事项1. 实验记录应该及时进行,避免遗漏或者失误,防止对实验结果的影响。

2. 实验记录应该遵守实验的操作规程和标准操作程式,确保实验的准确性和可靠性。

3. 实验记录应该采用规范的格式和结构,清晰易懂。

科学实验实验报告记录单

科学实验实验报告记录单

科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)( 2016 -- 2017学年度第1 学期)( 2016 -- 2017学年度第1 学期)1、折叠过滤纸。

2、将折叠好的过滤纸放入漏斗中。

3、将漏斗放在铁架台上漏斗下放好接盛滤液的科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单(2016 -- 2017学年度第 1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016 -- 2017学年度第1 学期)科学实验报告记录单( 2016—2017学年度第一学期)科学实验报告记录单( 2016—2017学年度第一学期)科学实验报告记录单( 2016—2017学年度第一学期)科学实验报告记录单( 2016—2017学年度第一学期)科学实验报告记录单( 2016—2017学年度第一学期)科学实验报告记录单( 2016—2017学年度第一学期)科学实验报告记录单( 2016—2017学年度第一学期)科学实验报告记录单( 2016—2017学年度第一学期)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验记录1实验背景1.1技术背景1.1.1骨骼动画骨骼动画是一种计算机三维动画,主要用于模拟拥有骨骼和关节的人和动物。

骨骼动画的组成是:三维静态模型,骨骼及骨骼关键帧动画,静态模型顶点与骨骼之间特定的对应关系。

渲染骨骼动画时,首先骨骼发生改变,从而带动模型顶点改变,最终形成动态的三维模型,模拟人或动物的动作。

1.1.2CUDACUDA全称是Compute Unified Device Architecture统一计算设备架构,它是由NVIDIA推出的通用并行计算架构,该架构下的GPU兼有通用计算和图形处理两大功能,GPU能够顶替CPU的多数计算任务。

CUDA是GPGPU产品的一个新的基础架构,一个完整的GPGPU解决方案,它采用C语言作为编程语言提供大量的高性能计算指令开发能力,使开发者能够在GPU的强大计算能力的基础上建立起一种效率更高的密集数据计算解决方案;它提供了硬件的直接访问接口,而不必像传统方式一样必须依赖三维图形API接口来实现GPU的访问,从而编程人员在完全不接触图形编程的情况下,能够像使用CPU一样透明地使用GPU进行与图形无关的通用计算。

1.1.3VRVR全称是Virtual Reality虚拟现实,是用于模拟现实世界的一整套计算机技术的集合。

现实世界是一个不断运动的世界,特别是人类和其它动物。

虚拟现实的服务对象是人类本身,所以人类静态外观和动态行为的模拟是虚拟现实技术的很重要的组成部分,特别是动态行为的模拟。

人类行为的模拟涉及到计算机三维动画技术,骨骼动画可以用来模拟人的各种动作。

骨骼动画用骨骼点的位置偏移和旋转角度,控制全身皮肤的运动,以很少的数据量记录模型的动作。

在动画模拟过程中,需要通过骨骼更新模型坐标,人体的模型外观主要是皮肤,皮肤是不规则曲面,需要非常大的数据量进行模拟。

所以,在骨骼更新模型坐标这个环节,涉及密集数据的密集计算。

传统的骨骼动画计算和渲染,需要耗费大量的时间,极大影响整个虚拟现实场景的渲染效率。

结合VR使用骨骼动画过程中遇到的密集数据的密集计算问题,以及CUDA技术在解决该类问题的潜在优势,本文拟用CUDA技术,加速骨骼动画的计算和渲染。

1.2项目背景CUDA加速VRGIS平台的骨骼动画模块。

VRGIS平台是一个集VR仿真与GIS分析一体的拥有自主知识产权的国内软件平台,其中包含动态三维模型仿真模块,动态三维模型以骨骼动画实现。

VRGIS支持骨骼动画的具体格式是Milkshape的ms3d格式和Autodesk的fbx格式。

当前动态三维模型的顶点更新和渲染,没有采用GPU加速,时间效率相当低,使用CUDA 在GPU内部实现顶点更新,再搭配VBO实现渲染加速,将是一个提升动画渲染效率的有效方案。

骨骼动画模拟空间站设备虚拟装配过程。

虚拟装配模拟各种机械设备的组装与动态操作,机械设备的动作由类似人类的关节所控制,因此骨骼动画被用于实现虚拟装配。

与传统的播放预先录制好的骨骼关键帧动画不同,虚拟装配用到的机械关节的动作是实时获取的,需要进行实时交互,具体获取方式是传统的鼠标键盘或者其他的输入设备。

Kinect动作捕捉与实时追踪。

Kinect就是上文所谈到的其他输入设备的一种,它是微软所出产的三维体感输入设备,能够捕获真实世界中的人物动作,传递给计算机三维动画模型。

使得计算机三维模型能够实时“学习”人类的动作。

这里的三维动画模型,也可以用骨骼动画来具体实现,动作捕捉和实时渲染同样是高密度高计算量的操作,适于用CUDA进行加速。

1.3实验目的本文计划将传统的在CPU实现的骨骼动画算法移植到CUDA,从而拓展CUDA应用领域;同时,骨骼动画的高密度高计算量的操作通过CUDA实现加速,从而解决骨骼动画的时间效率问题;最终,总结研究一套以CUDA实现三维动画加速的一般方法。

2实验基础2.1数据的选取本文为了实现以上提到的实验目的,先后用到复杂度不同并且在现实应用场合具有广泛代表性的三种典型数据,分别是不含骨骼的静态模型、拥有少数骨骼的简易动画模型、拥有完整骨骼和光滑皮肤的复杂动画角色,数据格式采用Milkshape的MS3D格式。

静态模型选用一个立体十字木架,用于测试静态模型渲染算法的可行性和时间效率;简易动画模型选用一个不断游动的海豚,用于测试动态模型骨骼顶点更新算法以及渲染算法的可行性;复杂动画角色选用一个三维动画短片《小海龟漫游海底世界》的主角——小海龟卡西,拥有68个骨骼关节和64K个顶点[v???],用于测试用CUDA加速骨骼动画的可行性和有效性。

2.2实验环境2.2.1硬件配置处理器包括CPU和GPU,为CUDA加速前后构造对比,本文拟选用三组同等级别的CPU 和GPU,分别为高、中、低三个档次的配置。

对比实验时,高端CPU与高端GPU对比,中低端以此类推,从而获取客观和稳定的加速比。

否则以高端GPU与低端CPU对比实验将导致加速比被高估;或者,以低端GPU与高端CPU对比实验将导致加速比被低估,以上两种情况,都将失去CUDA加速性能实测的普遍性和参考意义。

当今,高端CPU典型配置是4核,高端GPU典型配置是是1024个流处理器;中端CPU典型配置是2核,中端GPU典型配置是256个流处理器;低端CPU典型配置是1核,低端GPU典型配置是64个流处理器。

具体配置如下表:马伟霞GPU4 VS CPU4新机2 GPU1 VS CPU1江媛媛周圣川换GPU,江媛媛GPU3 VS CPU3周圣川新机1 换GPU,周圣川GPU2 VS CPU2GPU5 vs CPU6 = 4.4 / 14.4GPU5 vs CPU4 = 19.4 / 16.62.2.2软件环境本实验的软件环境如下,CUDA版本是4.2,编程环境是Visual Studio 2010,CUDA调试环境是Nsight Visual Studio Edition 2.2 ,CUDA性能分析和优化工具是CUDA Visual Profiler和CUDA_Occupancy_Calculator。

3实验设计3.1文件的解析和绘制骨骼动画文件格式采用Milkshape的MS3D,骨骼动画文件的详细结构和解析方法参考MilkShape 3D SDK[11]以及论文[10]。

本文着重关注骨骼动画的渲染,渲染通过OpenGL实现,渲染过程可以划分以下3个环节:1)根据关键帧插值更新骨骼的矩阵,简称骨骼更新2)用骨骼的矩阵更新模型顶点坐标,简称顶点更新3)模型渲染当前的骨骼更新、顶点更新算法都是基于CPU进行实现;因为顶点每帧都需要在CPU 中重新计算,所以渲染方式只能采用立即方式,而不能用VBO或者显示列表进行加速。

无论是模型的更新还是渲染,都没有任何优化。

按照以上设想,本文先实现了骨骼动画模型的动态绘制,作为之后进行效率优化和比较的基准。

本文先后渲染了3种类型的骨骼动画,静态的立体十字木架、动作简易的游行海豚、动作和模型都很复杂的动画角色小海龟卡西。

效果如下图:3.2优化策略实施优化之前,首先从理论推导和实际测量两个方面做时间效率分析,根据分析结果,获取优化目标。

优化的评价标准,分为横向评价和纵向评价,横向评价用于评测GPU相对CPU的时间效率提升,纵向评价用于评测CPU或GPU各自进行内部优化的时间效率提升。

横向评价时,时间效率提升的具体计算方法如下:假设GPU耗时Tg,CPU耗时Tc,GPU 时间效率Eg=1/Tg,CPU时间效率Ec=1/Tc,时间效率提升I = (Eg – Ec)/Ec = Eg/Ec – 1 = Tc/Tg – 1。

纵向评价时,目的是分别获得最优的CPU和GPU算法,不涉及GPU与CPU之间的绝对比较,所以不以绝对的时间作为比较的标准,只计算各自所耗费的时钟周期数目。

本文的重点是时间效率的优化,因此时间的测量及其结果的输出,都应当最大程度地避免误差和干扰。

横向评价时,在CPU主机端对同一功能模块的CPU算法和CUDA算法分别调用测时函数cutGetTimerValue,在测量时间之前调用同步函数cutilDeviceSynchronize等待CUDA操作执行完成。

纵向评价时,clock。

监测方法,clock()系统函数测量时间[v133],Windows程序调用控制台作为显示v136 重复多次测量,提升测量结果准确度和稳定性v196 cuda的kernel耗时测量方法,无论cutGetTimerValue还是cudaEventElapsedTime,必须加同步,否则无效v277 规范cutGetTimerValue测时函数的使用,添加cutilDeviceSynchronize进行同步。

v279 记录100遍耗时样本,平均值,CPU vs GPU = 693ms : 247ms,降幅64%v285 总耗时与分项总和之间存在计时误差,原因查明,printf,每句耗时约1ms优化过程如下:首先进行CPU优化,包括算法本身的优化和多核多线程并行,CPU多线程拟用OpenMP来实现;其次进行基于CUDA的GPU并行优化,在完成算法从C/C++到CUDA C的移植之后,采用一系列CUDA优化方法,使得CUDA时间效率达到最优。

3.3优化前的准备3.3.1CPU优化通过分析耗时比重确定优化目标。

骨骼更新、顶点更新、模型渲染各占3%、82%、4%。

顶点更新占用时间比重较大,是重点优化对象。

接下来,以顶点更新作为优化对象,用OpenMP进行CPU多核并行加速。

使用OpenMP,只需要在循环次数最多的那个循环上面添加一条指令”#pragma omp parallel for”,同时开启编译选项”/openmp”。

为了达到最优的并行运算效率,需要对算法做一定的修改,尽量避免循环结构和分支结构,展开小循环、以三目运算替代小分支。

顶点更新原始算法涉及多重循环,需要削减循环的层数,展开由三角面遍历三个顶点的小循环;顶点计算时需要判断是否绑定骨骼,存在分支结构,用三元运算符进行替换。

渲染方面,虽然占用时间很小,但是还是可以做优化,把渲染模式从立即改为交错数组。

立即模式逐点向显卡传输顶点数据,交错数组一次性传输所以顶点数据,大大减少内存与显存之间传输数据的次数,从而提升渲染效率。

渲染改为交错数组模式,也为以后改写CUDA 渲染提供对比,CUDA渲染也是交错数组模式,只是交错数组本身以VBO的方式常驻显存,进一步减少内存与显存之间传输数据的次数。

虽然动态模型不能采用VBO加速,但是不含动画的静态模型可以采用VBO,渲染加速比能够达到上百倍。

3.3.2GPU代码移植对于CPU优化目标,以耗时比例作为依据,上文已经确定是顶点更新模块。

对于CUDA,除了耗时比例作为依据之外,数据量、计算量的双重密度也是一个依据,顶点更新模块存在高密度的数据量和计算量,因此CUDA优化目标也是顶点更新模块。

相关文档
最新文档