3D Rendering Sorting Issue with newer AMD GPUs

From the Asset Store
Template for a basketball game with a 3D aspect (illusion of 3D)

    Ashley

    Yea I'll work through the bugs with webgpu to make them easier to spot on what causes them. I have contacted AMD but because I don't have an RX they are putting me through diagnostic procedures I can't do haha.

    Yea webgpu fixes it but not on node webkit, I'm unsure if this is because node webkit may be defaulting to webgl regardless? (Is this a bug not allowing webgpu on nwjs, not sure)

    The bugs I have on webgpu are probably easier to sort if I isolate them then pass them over to you in the usual bug reporting. 👍

    Where can I contact AMD? I do own a computer with the issue.

    By the way, the issue isn't very hard to replicate at all. Just have an AMD card. I've tested over 5 different cards, and every one had the issue. You can imagine my despair when I have a game that uses 3D set to release in October. Due to this issue I'll have to delay it for sure.

    In my opinion, it doesn't matter if it's AMD, WebGPU, or whatever issue - as one of the creators of the engine that has the issue Ashley , it should be your job to go after the issue and try to understand it better. As an end-user, I don't know how you've programmed the 3D in the engine, so even if I reach out to AMD, how am I to explain what's the engine doing?

    I hope that turning the WebGPU option off helps somewhat, but now I have to go through my entire game and check out if anything has changed. I'll still try to contact AMD though.

    Once again, just a heads up for anyone who comes to the thread wondering why their 3D game is broken in C3 - right now, no AMD cards can run the 3D Construct games properly.

    Whether it does need to be Scirra or the users, definitely feels like a huge issue and should all be focused in one thread to report this (assuming amd sorta have a public bug thread we can all chime in on) and not scattershot randomly to the companies.

    Edit: is there any logic as to why C3 games work fine with that old "low latency" option, like what was C3 fundamentally doing differently with that option, maybe there's a clue there? Still baffling that things are fine for nvidia cards.

    Whether it does need to be Scirra or the users, definitely feels like a huge issue and should all be focused in one thread to report this (assuming amd sorta have a public bug thread we can all chime in on) and not scattershot randomly to the companies.

    The issue began occurring after a change in Construct. It's a Construct bug. The likely root cause - a specific change in Construct - has been found and was posted on the Construct Community Discord. Hopefully the community can solve the engine issue, as per usual.

    > Whether it does need to be Scirra or the users, definitely feels like a huge issue and should all be focused in one thread to report this (assuming amd sorta have a public bug thread we can all chime in on) and not scattershot randomly to the companies.

    The issue began occurring after a change in Construct. It's a Construct bug.

    I think this bug affects old versions of C3 though. But then we have that magical "low latency" option in older versions of C3 which happens to fix the issue, but since been removed.

    I'd take the low latency option now if it existed, infact I'm tempted to build with the older C3 just for peace of mind since I don't understand any of this issue and simply worry about players.

    hey!! I'm making a 3D game, too :D

    What is the best workaround for this issue? Should we enable WebGPU or use low-latency? (I don't really need the Steam overlay)

    I don't have much more to add, other than: yep, that sounds like a graphics driver bug. I've seen such issues plaguing software and game development ever since I started coding around 20 years ago. They're a total nightmare.

    Your best bet is still to try to get in touch with AMD - or perhaps report it to the browser vendors who may be able to figure out a workaround. For our part, even if we wanted to try to help, we'd have to start by ordering in affected hardware and building a system that reproduces the issue, which may then not reproduce the issue because it actually depends on something we haven't figured out yet; even if we reproduce it, it may be impossible to work around in our engine anyway, in which case we're back to square one. I've attempted such things in the past and generally it's hopeless, so it's best to follow up with browser vendors or the GPU vendor who are generally better prepared to deal with such issues.

    If using WebGPU works around it but there are other issues, you can report those to us, or list them here if they are already reported, and I will try to prioritize them. The architecture of WebGPU allows for much simpler drivers, which should hopefully make cases like this much rarer. In the long term our goal is to move to WebGPU by default and ultimately (probably very far in future) retire support for WebGL.

    I know you said you don't want to support features with bugs but the only fix right now is still with compositing mode, I'd once again like to kindly request that you bring it back in some form and maybe hide it behind unsupported warnings etc.

    ANYONE looking to make a 3d game with construct is not able to do so without complaints because of this bug.

    Sometimes this happens and it is my least favorite part of software development, but: sorry folks, this is not our fault. The problem is with AMD's software. You can ignore that and insist it's our fault anyway, or that we do something about it anyway, and nothing will happen, because it's not our fault and it is impossible for us to fix the root cause.

    Ordering in a bunch of expensive equipment in what is normally a hopeless effort is not something we're willing to do. Like I say I would fully expect that to cost us money and result in a dead end - because it's not our software that's broken.

    So there's apparently a workaround with an old setting. I guess you can keep using those old Construct releases then. It is a total mystery to me how the old setting could possibly have anything to do with this whatsoever: that setting just sets a flag in the browser engine asking it to reduce the latency of display. What that does I don't know, and why it works around the problem I have no idea, but it also caused a whole bunch of other bugs and problems, so if we bring that back we get all those problems back, which I don't want to do either. As ever, the only way to really solve problems is to fix the root cause, which is in AMD's software.

    Your choices are: continue to insist we act on it anyway, which will be fruitless, or actually get in touch with AMD (don't ask me how, we're not AMD) or the browser vendors, either of whom may be actually able to do something about it. Those of you who actually want to see the problem fixed, please choose accordingly.

    For those of you who think "just make a 3D engine, how hard can it be?" - food for thought.

    AMD's bug report tool can be found in the "AMD Software: Adrenalin Edition" application.

    (Gods that is a painfully cringe worthy name for a program)

    Sometimes this happens and it is my least favorite part of software development, but: sorry folks, this is not our fault. The problem is with AMD's software. You can ignore that and insist it's our fault anyway, or that we do something about it anyway, and nothing will happen, because it's not our fault and it is impossible for us to fix the root cause.

    Ordering in a bunch of expensive equipment in what is normally a hopeless effort is not something we're willing to do. Like I say I would fully expect that to cost us money and result in a dead end - because it's not our software that's broken.

    So there's apparently a workaround with an old setting. I guess you can keep using those old Construct releases then. It is a total mystery to me how the old setting could possibly have anything to do with this whatsoever: that setting just sets a flag in the browser engine asking it to reduce the latency of display. What that does I don't know, and why it works around the problem I have no idea, but it also caused a whole bunch of other bugs and problems, so if we bring that back we get all those problems back, which I don't want to do either. As ever, the only way to really solve problems is to fix the root cause, which is in AMD's software.

    Your choices are: continue to insist we act on it anyway, which will be fruitless, or actually get in touch with AMD (don't ask me how, we're not AMD) or the browser vendors, either of whom may be actually able to do something about it. Those of you who actually want to see the problem fixed, please choose accordingly.

    For those of you who think "just make a 3D engine, how hard can it be?" - food for thought.

    For anyone looking for a solution to a major engine issue and not unhelpful misdirection or shifting of blame, there is an addon now available in the Construct Community Discord to deal with the rendering issues related to poor support for AMD GPUs. Created by a third-party developer who has been near single-handedly making a 3D engine that works within Construct in their spare time.

    How exciting! Felt like we would be waiting unknown amount of time for a resolution to this from AMD, didn't expect this could be worked around via addon.

    Is it a sdk V2 addon? I remember being fearful that V2 may prevent the community from adding "missing features" like the odd ACE and such, and sorta eventually accepted this, but this may be an example of a major game breaking issue being worked around via 3rd party addon.

    I'd take any workaround even if it causes another bug, as long as the game is playable at a minimum.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads

    For anyone looking for a solution to a major engine issue and not unhelpful misdirection or shifting of blame

    Repeatedly blaming us for issues that are not our fault or responsibility, even after we've done our best to explain the situation, are against the Forum & Community guidelines, in particular in the section regarding bad faith discussion:

    Demanding impractical measures or infeasible solutions. If we say we can’t do something, it’s not because we don’t want to, or we’re being difficult, we genuinely can’t do everything!

    Therefore closing this thread. I've already indicated the best way to approach this problem and fix the root cause, which is the only good long-term solution.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)