float[] → Vertex[] – decreases performance by 1000%

David d at dav1d.de
Wed Jul 25 14:32:00 PDT 2012


Am 25.07.2012 23:03, schrieb Dmitry Olshansky:
> On 26-Jul-12 00:52, David wrote:
>>> It looks like a syscall/opengl issue. You somehow managed to hit a dark
>>> corner of GL driver. It's either a fallback to software (partial) or
>>> some extra translation layer.
>>> I once had a cool table that showed which GL calls  are direct to
>>> hardware and which are not for various nvidia cards.
>>>
>>> Now the trick is to get an idea why. The best idea to debug driver
>>> related stuff is to test on some other computer (like different version
>>> of OS, video card etc.).
>>
>> Worst case scenario ... driver issue.
>
> Been there once. I any case I'd try to split coordinates into 2 or 3
> interleaved arrays. (like vertex+norm and separately 2 UV). It's usually
> slower but not 10x ;)

Well the intersting question is, why is it slower? I checked it twice, 
the data passed to the GPU is 100% the same, no difference, the only 
difference is the stored format on the CPU (and that's just a matter of 
casting).



More information about the Digitalmars-d-learn mailing list