"Old" Direct3D 8 versus "new" Direct3D 8

Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.

A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.

Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!

Clickteam.
  • When I started my current project, I was using an earlier beta of MMF2 HWA. The display mode was Direct 3D 8 and it ran fine.

    It continues to run fine on my computer. However, if I switch AWAY from Direct3D 8 (to, for example, Standard), then immediately back, the game runs very sluggishly. Direct3D 9 runs slowly too.

    Was there a major change in the Direct3D 8 code at some point that might have caused this?

    My game has a TON of backdrops, which seems to bog down the "new" Direct3D 8.

    Edit: I've figured part of it out. It's not the number of backdrops that matters. It's the size of the frame. If it gets much bigger than 5000x5000 it starts to rapidly decline in performance with the newer Direct3D.

    Longtime Member of Smiley Productions

    Please login to see this link.

  • Thats why HWA has always be BETA. Clickteam do say that none of the features are final.

    I dont think its that the code has changed, i think its a bug. I have had that happen to me before where my project would run fine, I would so something and run it again and it would be 1/3 - 1/2 the speed it was before. This happens in standard as well as HWA.

    P.S. this should be in HWA forum....

    previously know as bigredron

  • Quote

    However, if I switch AWAY from Direct3D 8 (to, for example, Standard), then immediately back, the game runs very sluggishly.


    There is no old/new D3D option. If you have switched back to Direct3D 8 immediately without doing anything else, then it's pure (bad) luck. If you have done something in the meantime like running the application, it could be due to memory being not freed in the video ram, making the runtime load images in the system ram instead of the video ram, or something like that. Did you reboot your machine? if so, did it fix the problem?

  • Sorry about the wrong forum.

    "If you have switched back to Direct3D 8 immediately without doing anything else, then it's pure (bad) luck. "

    That is what I am doing. Rebooting doesn't solve it. I have had this problem with my project on both XP and Windows 7.

    In the meantime, I will redesign my levels to use Direct3D 9 and be roughly 5000x5000 in size.

    Example, Please login to see this link.
    Notes in event editor.

    Longtime Member of Smiley Productions

    Please login to see this link.

  • Hmm, amazing... You are right, I removed the v-sync option and set the frame rate to 500 fps to see more precisely what happens and I notice a drop from 400 fps to 300 when I just change the display mode option to something else and set it back to D3D8...

    There is absolutely no reason why you should notice a drop in FPS, as the source code just changes a byte in the properties of the application, it doesn't do anything else.

    I'll trace the code, hopefully I can see what's wrong...

  • OK, I got it... the old beta version of MMF2 HWA you used was bugged. Actually you think you are running in Direct3D 8 mode but it's running in DirectDraw mode... When you change the display mode and switch back to Direct3D8, then it's the real Direct3D8 mode.

    The speed difference is due to the fact the hwa engine is slower in some cases with backdrop and quick backdrop objects, as it has to recalculate & redraw everything while the software engine only redraws the part that scrolls. I might have to add an option in a future version to draw backdrops of layer 1 in a single texture to optimize this. However it's usually faster when your game becomes more complex.

    PS: set your frame rate to 75 instead of 60, I think that's better. If the frame rate is identical to the monitor frame rate, the engine may miss a frame if it's near the limit.

  • On the topic of frame rate, in my experience I always put the frame rate higher than 60 and let the vsync keep it steady at the monitor refresh (which is usually 60Hz) for the reasons Yves states. I've been using the HWA beta for quite some time now and tested all my games on a range of PC's with different graphics cards (some very poor integrated, others top end) with different displays and this approach works more consistently.

    Good to know about quick backdrops. I had stopped using them in the HWA mode and sticking to larger ^2 background objects where possible.

    Andy H @ Please login to see this link. - Please login to see this link.
    Retro Gaming @ Please login to see this link.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!