# Can using different vertex-buffers for each vertex-attributes be good in certain scenarios?

Is there scenarios where this is actually good practice? Or does it slow down performance?

Example:

//Vertex format is:
//X, Y, U, V
var myXYs:Vector.<Number> = new <Number>[
-1, -1,
1, -1,
1, 1,
-1, 1
];

var myUVs:Vector.<Number> = new <Number>[
0, 0,
1, 0,
1, 1,
0, 1
]

//Create actual VertexBuffers....

//Set context3d's vertex-attributes:
//Assign 'va0':
context3D.setVertexBufferAt(0, bufferXY, 0, Context3DVertexBufferFormat.FLOAT_2);
//Assign 'va1':
context3D.setVertexBufferAt(1, bufferUV, 0, Context3DVertexBufferFormat.FLOAT_2);


Would the GPU have to constantly internally 'swap' between bufferXY and bufferUV to process the vertex-data? Or does it handle it just as good as a single vertex-buffer?

NOTE: My goal is to figure out a way to minimize uploading data from CPU to GPU for a large number of objects (more than the 128 limit with vertex-constants in Stage3D) by manipulating a list of vertices only responsible for the position of objects rather than the entire geometry + color and/or UV coordinates.