General slowdown with larger project?

For questions about using Classic.

Post » Sun Aug 21, 2011 1:03 am

You have to drop them in to your r1.2 <install directory>\Data and hit Preview inside Construct to use them.
Scirra Founder
B
359
S
214
G
72
Posts: 22,951
Reputation: 178,578

Post » Sun Aug 21, 2011 1:36 am

Thanks Ash for looking at it.
My professional Royalty Free Music at Scirra Assets Store
--------------------------------
Specs: i5 2500, 16gb of ram, gtx 770, win 7, Focusrite Scarlett 8i6, Mackie mr8mk2, Alesis 320, browsing the net on chrome.
B
71
S
19
G
19
Posts: 1,919
Reputation: 16,910

Post » Sun Aug 21, 2011 1:38 am

Works for me, I'm not sure if its just an illusion but I get a little higher in unlimited with my game now.
B
134
S
65
G
16
Posts: 1,766
Reputation: 19,190

Post » Sun Aug 21, 2011 1:44 am

by any chance are you running these tests with construct OPEN?, having a bigger project open in construct always seems to use more system resources for me, and then when i run the exe it generally works slower than if i would run it as a standalone without construct open. your project is increasing in size, #of layouts, textures, event sheets etc. so construct (the editor) itself may be the culprit of the slowdown, i remember having this problem with MEGA THUMB on my laptop, i'd have multiple tabs and stuff open and it was making the computer itself a lot slower. also, a drop from 1000, to 500, to 200, doesn't take THAT much in my experience.QuaziGNRLnose2011-08-21 01:44:47
B
52
S
7
G
6
Posts: 1,945
Reputation: 7,610

Post » Sun Aug 21, 2011 3:37 am

My old project that I bitched and bitched and bitch and bitched about? Went from 900fps to 2000. The other, developed project I'm working on is all the way up from 120 to 250. SO BASICALLY MORE THAN DOUBLE.

I love you guys.

Out of curiosity, what caused this issue? Due to the suffering I've gone through, I'm invested in the answer.kayin2011-08-21 03:38:15
B
12
S
4
G
4
Posts: 238
Reputation: 2,426

Post » Sun Aug 21, 2011 4:05 am

Woot!! Jump from about 800-850 to 1000! Not all the way back up to 1150, but quite a significant improvement! Thanks, Ashley!

Quazi - tried that, a good thought but it made no difference. Also, while a drop in fps might not take much, the point of this bug is that it's not supposed to hit the fps when there's nothing in the layout at all and no code is running.

Edit: Hey, awesome, Kayin! Glad it works for you too!Arima2011-08-21 04:11:05
Moderator
B
88
S
32
G
33
Posts: 3,005
Reputation: 27,432

Post » Sun Aug 21, 2011 5:18 am

Hmm, I might have been lucky before or have bad luck now, but I don't have any changes. 400 before, 400 now, 200 before, 200 now. But maybe they are much too small a project to get an advantage (no rpg, no adventure, you know).
Image
B
23
S
8
G
10
Posts: 1,820
Reputation: 8,242

Post » Sun Aug 21, 2011 10:57 am

Tanks again, Ashley!

I just want to say I got a MASSIVE spike in FPS when I ran an empty layout and disabled my Xbox controller plugin being global, I'm now running my test level that used to be 250 fps at 700, so this coupled with your new runtimes has given me a whole lot of leeway.

I just have to ask a difficult question: do you think you (or someone else kind-hearted) will be able to improve this further? It still doesn't reach the 11,000 fps of an empty layout in a new game, even if I hunt down everything global and remove it. An empty layout in my game now reaches 2600 (originally it was only 500, so a massive improvement).

I just want to be able to decide if I should continue this game or not.
B
5
S
2
G
3
Posts: 234
Reputation: 1,818

Post » Sun Aug 21, 2011 1:00 pm

The problem was there was a function in the runtime - "GetObjectTypeByName" - that loops every single object type and finds the one with the given name, case insensitive. For behavior management, this was called once every tick. This meant if your project was huge (hundreds if not thousands of different object types), it was doing a fair amount of work per tick. I came up with a faster way that doesn't need to loop every single object type, so now it barely does anything every tick.

Now for various reasons I think
- it won't reach the 11,000fps of an empty layout in a new game, and
- it doesn't matter.

In the runtime there's a certain amount of work that must be done every tick, and some of these jobs invariably take slightly longer for large projects. However, the difference is (now) incredibly tiny. Remember: 11,000 fps means one tick lasts about 91 microseconds. That's obscenely fast. If that drops by half to 5,500 fps, each tick is now taking about 182 microseconds (less than a fifth of a millisecond).

At the super-high framerates you get with Classic, tiny insignificant amounts of CPU work are vastly over-represented. For real games a change of 91 microseconds per tick has no effect. None. However when Classic is essentially doing nothing per tick, such a tiny change seems to be trashing your framerate. It doesn't matter though.

So I think the big one has been fixed - but there shouldn't be any other significant performance issues. If in doubt calculate your delta-times instead of framerates, and you should see you're doing just fine.Ashley2011-08-21 13:01:46
Scirra Founder
B
359
S
214
G
72
Posts: 22,951
Reputation: 178,578

Post » Sun Aug 21, 2011 1:16 pm

So what I'm hoping, and you might be suggesting, is I won't see much of a drop in framerates as I go along now? It will get lower as the game gets bigger, but it exponentially decreases how much FPS it loses? Don't think "exponential" is the right word for shrinking...
B
5
S
2
G
3
Posts: 234
Reputation: 1,818

PreviousNext

Return to Help & Support using Construct Classic

Who is online

Users browsing this forum: No registered users and 2 guests