cancel
Showing results for 
Search instead for 
Did you mean: 

OpenGL & Vulkan

Othan
Journeyman III

Artifact tearing with the new AMD driver

Hello,

Since the 22.7.1 edition, our visual renderer has elements disappear and other tear in our Java OpenGL game "Wakfu", made by Ankama Studio.

The last properly working version seemed to be the 22.5. The issue also affected our game "Dofus", but the new 22.11.1 Optional version fixed it Dofus - not for Wakfu though.

On Wakfu, the issue is still encountered with the new driver. Example of tested GPU is the AMD RX 5700.

An example of the tearing can be seen at the bottom of this discussion (https://www.wakfu.com/en/forum/36-technical-issues/242419-ui-issues-just-white-boxes-without-text) or here (https://ibb.co/CW5kDVK). Expected UI is (https://ibb.co/KwN9B0z).

Places where there is no "wheather" effects, which are global illumination modifiers and shadows, are not affected, I am trying to isolate the specific method causing an issue.

I am available if any further information is needed. Thanks a lot in advance.

Othan

-----------------

DISCLAIMER: I'm a developer in the Ankama's Wakfu Team

0 Likes
10 Replies
dipak
Staff

Hi @Othan ,

Thank you for reaching out. I have whitelisted you and moved the post to the OpenGL forum.

Please provide more information about the steps to reproduce the issue. I will report it to the OpenGL team.

Thanks.

Thank you for the answer. Dipak!

Sadly I do not have a minimal code example, as the problematic behaviour can only be seen when the game is running on an AMD GPU. So the only reproduction yet is to download and play the game (https://www.wakfu.com/en/mmorpg/download).

While it is free, I understand this is not practical for the team, and I'll try to provide a lighter way to reproduce the issue once I can access an AMD GPU (we do not have one on the company premises and had to order one online).

Only interesting clue we have for now is that it only happens in the zone of our game where there are global lightning modifiers 😞

I'll try to update the post with more precise information as soon as possible.

Thanks for your help,

Othan

0 Likes

Hello @dipak !

Sorry for the very long delay. I have been able to do some tests on the issue, and it seems that since the driver update, the OpenGL flags set by our calls 

gl.glEnable(GL2.GL_TEXTURE_2D);
gl.glDisable(GL2.GL_TEXTURE_2D);

are not properly re-read between two consecutive draws. This means that when we make 2 draw calls in a very short delay, even though we properly set the flag, the draw is made with the old value.

This explains why our game ends up with grey squares - they are drawn as if they had no texture. After our client encounters another non-texture component (in my previous screen, that would be the "hearth"), it will then properly detect that a switch has been made and use textures again - which is why the eastern part of the screen is rendering properly.

I have verified that manually disabling the texture rendering will correct the problem, as it would trigger the "flag update" when drawing the next texture.

After investigation, it seems we do properly set the correct flag value before each draws. I thus assume that a recent optimisation for OpenGL made on the Adrenaline driver made it skip a check in some cases.

I hope I was able to provide enough information, I am available if you need more details.

Regards,

Othan

0 Likes

Hi @Othan ,

Thanks for the above information. Could you please provide a minimal test-case that can be used to reproduce this issue at our end?

Thanks.

0 Likes

Thanks for the quick answer!

Unfortunately, I will not be able to reproduce the issue in a minimal example. It does not seem to happen on small-scale tests, and I cannot reproduce our (decade-old) game behaviour in a minimal example, as I do not have the skillset needed.

If the previous information does not give any lead, we'll just wait and hope that a next update will fix the issue as a side-effect.

Thanks a lot for your help,

Othan

0 Likes

I have reported the issue to the OpenGL team. I will let you know if I get any feedback from them.

Thanks.

0 Likes

Hi @Othan ,

The OpenGL team has created a ticket to track the issue. While trying to reproduce the issue, they were unable to launch the game due to this problem: 

"We tried to launch WAKFU and Dofus games via Ankama launcher but games are not launching, its got stuck at connecting page "

Could you please help or suggest on this? 

Thanks.

0 Likes

Hi @Othan 

As mentioned in the above post, the OpenGL team was unable to launch the games. They faced the same problem when tried WAKFU with steam as well. Could you please provide any help or suggestion on this?

Thanks.

0 Likes

Hi @dipak ,

Sorry for the delay in answering. We updated the "experimental" version of the game to facilitate reproduction of the bug and ease of use by the team. 

Here are the instruction to start the game and reproduce the issue: https://pastebin.com/agmrQ2tR .

There should not be any reason for the team to get stuck at the connection step, unless there is a firewall blocking authentication. The game client sends a request to the launcher, which in turn sends a request to our authentication server. I assume one of those two calls is blocked, hence preventing the connection.

If the issue persists, could you please ask them to provide the error logs for the connexion ? They can be found in https://imgur.com/a/BNpxCVa, the relevant log would be the wakfu.log.

Thanks a lot for your help !

Othan

0 Likes

Hi Othan,

Thanks for the above information. I will share it with the OpenGL team.

Thanks.

0 Likes