Speed of QHash lookups using QStrings as keys.

Posted by Ryan R. on Stack Overflow See other posts from Stack Overflow or by Ryan R.
Published on 2010-04-26T13:18:22Z Indexed on 2010/04/27 9:33 UTC
Read the original article Hit count: 216

Filed under:
|
|
|
|

I need to draw a dynamic overlay on a QImage. The component parts of the overlay are defined in XML and parsed out to a QHash<QString, QPicture> where the QString is the name (such as "crosshairs") and the QPicture is the resolution independent drawing. I then draw components of the overlay as they are needed at a position determined during runtime.

Example: I have 10 pictures in my QHash composing every possible element in a HUD. During a particular frame of video I need to draw 6 of them at different positions on the image. During the next frame something has changed and now I only need to draw 4 of them but 2 of those positions have changed.

Now to my question: If I am trying to do this quickly, should I redefine my QHash as QHash<int, QPicture> and enumerate the keys to counteract the overhead caused by string comparisons; or are the comparisons not going to make a very big impact on performance? I can easily make the conversion to integer keys as the XML parser and overlay composer are completely separate classes; but I would like to use a consistent data structure across the application.

Should I overcome my desire for consistency and re-usability in order to increase performance? Will it even matter very much if I do?

© Stack Overflow or respective owner

Related posts about c++

Related posts about qt