libtcod / python-tcod

A high-performance Python port of libtcod. Includes the libtcodpy module for backwards compatibility with older projects.
BSD 2-Clause "Simplified" License
404 stars 37 forks source link

SDL failed to get a vertex buffer for this Direct3D 9 rendering batch! #131

Closed HexDecimal closed 1 year ago

HexDecimal commented 1 year ago

You might see this error when running a tcod program. This 'problem' has always existed but is now visible due to logging being enabled. It affects all programs using SDL's direct3d render driver.

RENDER:SDL failed to get a vertex buffer for this Direct3D 9 rendering batch!
RENDER:Dropping back to a slower method.
RENDER:This might be a brief hiccup, but if performance is bad, this is probably why.
RENDER:This error will not be logged again for this renderer.

There is no regression. Older versions of libtcod simply didn't log this error which is why you didn't see it in previous versions. Your program is running as fast as it did before.

As a workaround, you can suppress the error by disabling logging for SDL:

import logging
logging.getLogger("tcod.sdl").disabled = True

I'm mostly waiting on SDL to update their renders. I'd report this to them but it's not clear what there is to report.

HexDecimal commented 1 year ago

The one time I finally decide to report this is when it was fixed in the latest version of SDL.