Dx9 Max2d Updated

BlitzMax Forums/BlitzMax Programming/Dx9 Max2d Updated

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

@Gabriel the issue with Debug on/off with OpenGL is the DirectX Driver basically has to emulate the OpenGL functionality so there is a lot more MAX Code to make same effects happen. Also "I think" the Module is compiled with the ?NODEBUG so regardless of the DEBUG compile it really is always debug off. Not sure on NODEBUG though.

@Grisu not sure why framerate would be effected as didnt change anything in regards to rendering only cicular ref problem with Garbage collection of textures at shutdown that Jame found and some wasted clock cycles loading the textures. The fact that all of them show flucuation of some sort with the Clock is interesting. Thats about as simple a program you can get.

And the X850 is older but pretty highend ATI card right? What kind of CPU do you have?

@Khomy thanks, I am assuming it rendered the fireworks OK? I need to make a program that just tests the MIPMapping functionality and prompts for driver as correct rendering is highest priority. Granted its not stellar performance however there is alot of XP(Sp2) editions out there with that Chipset and keeping things above the CPU Framerate is good although the logic of DXTest should handle abrubt frame drops and still keep logic in sync independent of render speed.

Todo's:
Check CAP Bits of card and handle if automipmapping is not avaialable.
Find out if SmearEdges is needed(SKID Help me understand here)
Reduce excess RenderState changes as much as possible.

The goal is to provide exact replacement functionality of Dx7. I have some ideas that I have tested and can make work. But wonder what people think
1. Smart Window mode positioning. Right now its pretty crappy.

2. Optional Driver Flags to have DirectX notsave FPU State. This increases performance but you cant use any math with doubles. Not safe unless you really know what your doing with BMAX code. The clock for example goes nuts.

3. Changing Graphics Modes and Toggle window modes on the fly with out calling EndGraphics to Graphics. This kinda works have to do 1. To make this reality.

4. Adding Extended Max2d commands to improve performance of Image Rendering. ie. FastText(Single Texture Fonts) DrawSubImage(Single Texture Animationstrips)

Any comments and suggestions welcome.

Thanks so much for all feedback

Doug Stastny