ambiera logo

Ambiera Forum

Discussions, Help and Support.

folder icon Ambiera Forum > CopperCube > Announcements and Showcase
forum topic indicator Game performance using clean custom binary is much lower than without it
person icon
okeoke
Registered User
Quote
2024-10-05 22:03:32

Hi,

I recently bought studio version of ccb, and noticed that there is some slowdown in terms of game performance in case I'm using custom binary compared to then it's not used at all.

Issue 1:

Usually, when making something with coppercube I'm setting fps cap to 200, so I can see if I've added something that has a significant performance impact. So I quickly noticed that performance on of the scenes in a game I'm developing atm drops from 200 to 120 by simply adding custom binary using new option added in 6.7.

At first I thought, it might be caused by the changes I've made. So I've downloaded "clean" sources once again, and built them with no changes. The result was pretty much the same - fps drops from 200 to 120 by simply adding binary. I also tried to run the .ccb file the old way, by naming it test.ccb and putting it along the compiled exe, which gave me the same result.

I'm able to reproduce this issue by adding a mesh with ~20k polygons and enabling collisions with it. Notice, I don't have that in the real game scene (it's added as an animated mesh, so no collision), but there is also some js running there. You can reproduce that by running in and hanging monster model:

Test scene with custom binary:
embedded external image
🔎︎


Test scene without custom binary:
embedded external image
🔎︎


Test files:
https://drive.google.com/file/d/...

I think there might be some logging going on there, so that's the reason for slow down, but I can't see there it happens.

I'm building it for Debug, so it might be that I need to build for Release.

person icon
okeoke
Registered User
Quote
2024-10-05 22:13:39

Which gets me to

Issue 2:

Binaries build with Release configuration doesn't do anything if you specify them using "Use custom binaries" option. It just plays the ccb file as the binaries were not specified.

Issue 3:

I receive 0xc0000007b error in case I'm trying to run win32player.exe build for x64 from the file system. But it works in case I point to it using "use custom binaries" option.

I'm building everything using old vs2017 with toolset v141.

So, does anyone knows something on how to resolve the mentioned?

Is there some documentation on source version which I'm missing? I would especially like to know what are the practices in terms of preparing the game to release. I.e. how to build for release, do I need to do some specific code changes/modify ccb in some special way and etc.

person icon
okeoke
Registered User
Quote
2024-10-05 22:16:05

I though, I was creating this in a help section.

person icon
Guest2
Guest
Quote
2024-10-07 18:03:29

This post will remain unanswered, until that one guy shows up. There are only few people who are porting code from irrlicht and then embedding it in coppercube, I hope they give credits to original authors though. With now custom binaries there is no transparency so the legitimacy of the code is also doubtful. I watched the video on youtube where @robbo is showing a lensflare effect he mentioned the original thread from where he copied the code, I just hope that all the people does that, and maybe also mention the original author on the custom binary page, rather than calling it their own contribution to the engine.

I also like to add that you should visit irrlicht forums more often to understand and learn about integrating stuff in coppercube rather than asking here on ambiera forums, where your post will be ignored completely.

person icon
guest_Robbo
Guest
Quote
2024-10-08 07:34:14

I notice your compiled version is around 10mb in size when standard size is under 5mb so something very different going on with your compiled version - maybe try release version instead of debug.

When I run it I see full 250 fps using my own compiled version so you need to work out why the difference. I use my oewn compiled version all the time and have no slow down at all...

person icon
okeoke
Registered User
Quote
2024-10-08 08:58:54

Hey, thanks for he replies.

@Robbo, could you tell how do you compile it on your side? Which version of VS/build tools do you use?

On my side I simply choose x64->debug configuration from the UI and press ctrl+shift+b. As I mentioned Release version doesn't work for me at all. I'm trying to use it with the latest 6.7 "use custom binary" feature, but simply nothing happens. CopperCube starts with regular built-in player. I suppose, there should be a way to fix that, but I didn't figured it out yet.

I believe, you have some free binaries available on itch, I'm going to try it out tonight, and see if I get any slow down with your files.

person icon
okeoke
Registered User
Quote
2024-10-08 19:24:08

I managed to fix it. Installed latest VS studio with tollset v143. It compiled binary with Release configuration with 1500 warnings, but it actually works. File size is 5mbs, and performance issue is not presented anymore.

Debug builds 10mb. But it's also possible to actually attach debugger to it, so I guess that's the purpose of that configuration, suddenly.

person icon
guest_Robbo
Guest
Quote
2024-10-09 23:41:23

Cool - glad you fixed it.

Yes, I use the latest free Community Edition of VS.

Some things will work in debug but not in release and vice versa for various reasons - usually both work ok though.

Warning messages are not very important - mostly can be ignored, only error messages are critical.

Some really old irrlicht code often requires much older windows 7 SDK and cant be upgraded in some cases to run on Win10 64 bit, or maybe has something to do with the 64-bit part only..

One way to insert debug messages into the source code to track what is running and the result as it runs each section is to use this :

os::Printer::log("place intended debug message here", "");

person icon
okeoke
Registered User
Quote
2024-10-11 04:59:22

Yeah, it's nice have it working:)
Thank you for the tips.

person icon
guest_Robbo
Guest
Quote
2024-10-13 08:52:43

I have finished and made a video on my new font loading API's:

https://youtu.be/r3pi108cxms

You can get the latest version of all of my API's using this link also:

https://robo25.itch.io/coppercube-new-apis



cheers,
Robbo

person icon
guest_Nick
Guest
Quote
2024-10-13 16:37:12

Hi,
Is it possible for you to make it as JS scripts so I can use them in my games?
I'm very interested in the "font loader".
I did buy this, but I can't understand how to make it work with my game.

person icon
guest_Robbo
Guest
Quote
2024-10-14 00:47:00

Yes, both the font image loader and load new font are both using javascript API to run the C++ source code of the engine.

For loading fonts - you have to add the folders: data/ fonts as in the download in the same location as you run your exe file from so it can access any new fonts you want to load either at startup or afterwards.

For showing image fonts - watch my video and use the API for that. Im pretty sure I explained everything in the video.
You create the file then attach it to what node you want it to work on inside CopperCube Editor and on startup run the API to only show what line or lines from the image you created.

Let me if anything is not clear....

person icon
guest_Robbo
Guest
Quote
2024-10-14 00:54:49

Forgot to mention the new binary file needs to be attached in your publishing settings to work. This is for Pro and above users.

If your not Pro or above let me know, can create a different method to still work like I did before.


Create reply:










 

  

Possible Codes


Feature Code
Link [url] www.example.com [/url]
Bold [b]bold text[/b]
Image [img]http://www.example.com/image.jpg[/img]
Quote [quote]quoted text[/quote]
Code [code]source code[/code]

Emoticons


icon_holyicon_cryicon_devilicon_lookicon_grinicon_kissicon_monkeyicon_hmpf
icon_sadicon_happyicon_smileicon_uhicon_blink   






Copyright© Ambiera e.U. all rights reserved.
Contact | Imprint | Products | Privacy Policy | Terms and Conditions |