1
0
forked from 0ad/0ad
0ad/source
Ykkrosh 0ef6c7555e Optimise VBO updates.
Some drivers (at least the Intel drivers on Windows) are slow at
incrementally updating a VBO with hundreds of calls to glBufferSubData
every frame. Performance is significantly better if you use
glBufferData(NULL) to tell it to discard all the previous contents, and
then re-upload all the data at once.

Update CVertexBuffer so that GL_DYNAMIC_DRAW/GL_STREAM_DRAW buffers are
handled with the new mechanism. This requires the caller to hold onto
the backing store so it can be re-uploaded when necessary, and needs a
bit more signalling to indicate exactly what needs uploading.

I see an improvement from roughly 60 to 75 fps on Intel HD Graphics
3000, Windows, 1024x768, Siwa Oasis.

This was SVN commit r16241.
2015-01-28 00:48:00 +00:00
..
collada Remove checks for unsupported GCC versions (<4.6). 2015-01-24 20:37:07 +00:00
graphics Optimise VBO updates. 2015-01-28 00:48:00 +00:00
gui Optimise VBO updates. 2015-01-28 00:48:00 +00:00
i18n Automatically replace %hs/%ls with %s in CLogger format strings. 2015-01-22 20:36:24 +00:00
lib glext_funcs: Support glMapBuffer, glMapBufferRange 2015-01-25 16:36:23 +00:00
lobby Switch to std::shared_ptr and std::weak_ptr. 2015-01-25 03:10:58 +00:00
maths Improve PickEntitiesAtPoint 2015-01-01 23:05:26 +00:00
mocks More FreeBSD build fixes. 2012-01-30 06:21:11 +00:00
network SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +00:00
pch Switch to std::shared_ptr and std::weak_ptr. 2015-01-25 03:10:58 +00:00
ps Switch to std::shared_ptr and std::weak_ptr. 2015-01-25 03:10:58 +00:00
renderer Optimise VBO updates. 2015-01-28 00:48:00 +00:00
scriptinterface Improve readability printing a single error message. 2015-01-27 09:14:30 +00:00
simulation2 Replace use of safe bool by explicit bool operator. 2015-01-25 03:11:24 +00:00
soundmanager Convert wchar_t*/wstring arguments to UTF-8 strings in CLogger messages. 2015-01-22 20:37:38 +00:00
third_party Remove checks for unsupported GCC versions (<4.6). 2015-01-24 20:37:07 +00:00
tools Updates Windows installer config, making the SM debug dll exclusion more generic 2015-01-26 05:01:53 +00:00
contributors.txt Ticket #2127 - Performance and style improvements in scriptinterface. 2013-09-16 19:10:06 +00:00
main.cpp Automatically convert all CLogger format strings from wchar_t* to char*. 2015-01-22 20:31:30 +00:00
test_setup.cpp CLogger: Use cppformat instead of sys_vswprintf. 2015-01-22 20:30:05 +00:00