[PATCH 3/3] winex11: Use TINN algorithm to speed up colour lookups. (try 2)

Vitaly Budovski vbudovski at gmail.com
Tue May 8 02:54:58 CDT 2007


Dmitry Timoshkov wrote:
> "Vitaly Budovski" <vbudovski at gmail.com> wrote:
>
>> Both floats and integers have their share of problems. Since the square
>> root operation has been removed, we are dealing with much larger
>> numbers, potentially larger than can fit into unsigned int without
>> looping back around. This is why I think keeping distances as floats is
>> a good idea, since they can represent a much larger range of values.
>
> Not really. sizeof(float) == 4, i.e. same as sizeof(int), but a float
> type carries much more information, therefore can't "deal with much
> larger numbers".
>

Yes, but you agree that a float can represent much larger values than 
4294967295?
This is the point I'm trying to make.
>> As
>> I mentioned earlier, there is no noticeable performance difference
>> between using floats and integers (cheap operations +-*) for the
>> distances so I really don't see the reason for all the resistance.
>
> Even if it looks like a "cheap" operation, floating point operations
> are much slower than an integer ones.
>

Really, the performance difference is not noticeable in this instance. 
But I'm open to any ideas you may have as to how we could avoid using 
floats, yet not run into the overflow situations so easily. We could 
probably use division somewhere but I don't think that's actually any 
better performance-wise.



More information about the wine-devel mailing list