[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49548] branches/soc-2012-swiss_cheese/ source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp: By adding some padding to the VBOs to make them 32byte aligned, I got a noticeable performance boost out of an ATI card.

Mitchell Stokes mogurijin at gmail.com
Sat Aug 4 02:08:22 CEST 2012


Revision: 49548
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49548
Author:   moguri
Date:     2012-08-04 00:08:20 +0000 (Sat, 04 Aug 2012)
Log Message:
-----------
By adding some padding to the VBOs to make them 32byte aligned, I got a noticeable performance boost out of an ATI card. Nvidia doesn't seem to care as much. We could eventually do a version check since this does make use of a bit of extra vram (especially for things like mobile that have limited resources).

Modified Paths:
--------------
    branches/soc-2012-swiss_cheese/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp

Modified: branches/soc-2012-swiss_cheese/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp
===================================================================
--- branches/soc-2012-swiss_cheese/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp	2012-08-04 00:01:27 UTC (rev 49547)
+++ branches/soc-2012-swiss_cheese/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp	2012-08-04 00:08:20 UTC (rev 49548)
@@ -42,7 +42,7 @@
 	this->data = data;
 	this->size = data->m_vertex.size();
 	this->indices = indices;
-	this->stride = 28*sizeof(GLfloat);
+	this->stride = 32*sizeof(GLfloat); // ATI cards really like 32byte aligned VBOs, so we add a little padding
 
 	//	Determine drawmode
 	if (data->m_type == data->QUAD)




More information about the Bf-blender-cvs mailing list