Page 1 of 1

ERROR: Unable to create dest surface for <VALUE> rotation

PostPosted: Fri Jan 13, 2017 2:08 am
by anba
Hello Crank Team,

I tried some performance analysis with 25 controls on the screen.
Each control clones the same speedometer, consisting of 3 render extensions
1. A background image
2. A text field, displaying the speedometer value as string.format("%.2f", value)
3. A foreground image, rotated speedometer needle

I then updated the value of all controls simultaneously via LUA, something like:
gre.set_data({"path_to_ctrl1.needle" = value, "path_to_ctrl2.needle" = value, ...})

This works for quite a while, but after some time following messages appear:

ERROR [27.609]:Unable to create dest surface for -2147483648 rotation
WARN [27.609]:Unable to rotate image
ERROR [27.609]:Unable to create dest surface for -2147483648 rotation
WARN [27.609]:Unable to rotate image

After this point the text is still correctly updated, but the needles no longer rotate.

I checked the rotation value, the supplied needle angle is valid (range 0-120°).
The rotation value printed in the error messages, changes depending on the given needle angle, but should not irritate you, because I think this is a float printed in integer representation - that is why minus max int32 is shown above.

The problem only appears when using the Win32 renderer for SBEngine, with OpenGL everything runs smoothly.
I am just wondering if there are limitations in the win32 version (amount of handles, or max. number of rotations etc.) that have to be kept in mind.

For me it is not a big problem, as this was just for performance tests and not for production.
But maybe this is something that is fixable, or just a Win32 limitation, that you might be interested in.


Re: ERROR: Unable to create dest surface for <VALUE> rotatio

PostPosted: Fri Jan 13, 2017 9:29 am
by MikeMarchand
Hi Andreas,

This is very interesting. Would you be able to send your test case in to This would help us reproduce the issue and track it down.