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

Dmitry Olshansky dmitry.olsh at gmail.com
Wed Jul 25 14:03:43 PDT 2012


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 ;)

>
>> Can't quite decipher output but I find it strange that it mentions
>> _d_invariant. You'd better compiler with -release if you care for speed.
>
> I don't care about speed much, but 1000% less performance is just too bad.


-- 
Dmitry Olshansky


More information about the Digitalmars-d-learn mailing list