Release mode doesn't work with some Native Extensions (SOLVED)

Okay, everything has started with Chrome lagging for my game at 60 fps. I’ve tried some approaches, but nothing worked except of Variable Dt (but variable Dt causes some other messy stuff).

I’ve tried bundle HTML5 with release mode on. But the result was the same. If I understand everything right release mode must turn off all the debug stuff like

msg.post("@system:", "toggle_profile")

Or not? At 30 fps with release mode on, profiler is not showing. But at 60 fps with toggled profiler and release mode on I am able to see all the profiler’s info on screen. This pushes me to the idea of release mode is not working properly at 60 fps.

Once more:
30 fps, release mode on: I have no lags in Chrome, profiler’s info is not displaying.
30 fps, release mode off: I have lags in Chrome, profiler’s info is displaying.

60 fps, release mode off: I have lags in Chrome, profiler is displaying.
60 fps, release mode on: I have lags in Chrome, profiler is displaying.


One more thing why I think there is something wrong with release mode. Referring to Ragnar_Svensson: “The thing that differs in release mode is that we throw away all the reverse-hash info to save memory. If you ever do things like local s = str(my_hash), that won’t work in release mode.”

I have local s = str(my_hash) stuff working (it actually shouldn’t) in 60 fps with release mode. But this doesn’t work in 30 fps with release mode, like it should.

If you are using Native Extensions, we currently only have support for debug builds. Could this be the issue?
We have a ticket for that (DEF-2477) and we’ll get to that after finishing the Linux support.

I have the following extensions in my project:

But If editor supports only debug builds with native extensions why am I able to build release build with 30 fps? :slight_smile:

PS. If release mode has support only for builds without Native Extensions, why everyone (including you, sir) said that I should use it and didn’t mention about this? :smiley: That’s not a claim, I just want to sort things out. :slight_smile:

2 Likes

Well, I agree it’s very confusing, and that’s why we wish to fix it :slight_smile:
My advice was based on the assumption that you weren’t using native extensions (since it’s fairly new, and not everyone knows abuot it etc). The other’s advice was presumably because they’ve missed this fact as well.

Currently, the native extension feature is in alpha mode, it doe not support all platforms yet (Linux is missing). And once it does, I’d consider it in beta mode, where we need to do a lot of polish for it to work seamlessly for everyone.

I’m really sorry for the confusion, and I hope we can add the missing features for you soon.

4 Likes

What I’m baffled about is the “profiler’s info is not displaying.” part, which means you did get a release build when using the 30fps version, whereas the 60fps version does show debug info. Are all these 4 configurations tests done with the same build?

1 Like

Hm, that’s strange. I am able to build 60 fps release build now without profiler displaying. But I haven’t able to do that in past.

The main change is that I’ve deleted britzl’s timer extension. Maybe that’s the case?

Yes, I’ve checked my project with britzl’s timer. This version shows profiler (i.e. release mode doesn’t work) both with 60 fps and 30 fps. It seems that fps is not the case. The problem is in extensions, as you said. Thread renamed.

Thanks a lot for help and explanations :slight_smile:

3 Likes