C2 Performance, let's be honest...

Discussion and feedback on Construct 2

Post » Wed Feb 19, 2014 12:07 am

[QUOTE=Pixel perfick] Couple of quotes from my original post will wrap this up for me, as we seem to be going in circles...but thanks for all the input...

"I think most devs on here are blind to the real capabilities of C2 as they are running fast gaming spec PC's, many still struggle to push 60 FPS in a game that a Sega mega drive could breeze..."

"Maybe Java script is just not upto the job, or maybe we are just making excuses..."


[/QUOTE]

I don't have a fast gaming PC, and still can achieve that, so javascript is potentially up to the job I think, the problem is somewhere else to be found, like why can't it be as well for everyone, why some just don't have all the advantages, that is more here the problem.

But I can understand your frustration, and also the frustration of people that can't enjoy our games :/
Game design is all about decomposing the core of your game so it becomes simple instructions.
B
53
S
22
G
18
Posts: 2,122
Reputation: 17,123

Post » Wed Feb 19, 2014 12:11 am

[QUOTE=Pixel perfick] Couple of quotes from my original post will wrap this up for me, as we seem to be going in circles...but thanks for all the input...

"I think most devs on here are blind to the real capabilities of C2 as they are running fast gaming spec PC's, many still struggle to push 60 FPS in a game that a Sega mega drive could breeze..."


[/QUOTE]

If you set the resolution to 320 x 240, strapped the maximum tick rate to 10 dropped the colours to 64 etc, etc then you might get a fairer comparison to these Sega Mega drive games, in reality the Sega Mega drive with its by then obsolete Z80 chip from the mid 70's pumping a Motorola 68000 was not a particularly powerful bit of kit and relied upon heavily optimised games often designed specifically for the platform.
To suggest that this software is incapable of matching the megadrives performance is disingenuous.
UOTE] Bertie Booster2014-02-19 00:11:46
There are 10 types of people in the World, those that understand binary and those who don't.
B
7
S
2
Posts: 93
Reputation: 797

Post » Wed Feb 19, 2014 12:17 am

I'll take the excuses , it may be because some people aren't using C2 properly because they don't have much of experience in game development in general ... but that's ok , because C2 is designed to be high level , but don't expect to throw at it two nested loops and figure out why it is slow , moreso , C2 was designed as a game engine and should be able to be able to handle all 2D games , thus going overkill with even the simplest games , like polygonal collisions where a game only need tile-based collisions , thus you can't compare code that was written for a sole purpose and game engines , where that code was only created to run in a way , but C2 created to handle in an all-in-one fashion , and that MAY be the reason why it can be slow for simple games in some people's opinion

That answers the two quotes above , and remember , you can't compare code to a game engine , it's like comparing a ... uhm ... eh ... ( bad example incoming !) a swiss knife to a kitchen knife , The two of 'em are the same weight , but the latter cuts meat better because it was specially designed to do this task , as of , the swiss knife can do WAY more than just cut meat , and therefore is superior for bigger tasks and such , but that's probably not a good example


Whiteclaws2014-02-19 01:13:27
B
42
S
17
G
17
Posts: 2,247
Reputation: 17,461

Post » Wed Feb 19, 2014 12:23 am

A sega mega drive is a highly optimized, non variable target platform. Games could be coded to the metal. You can't do that on PC, there are too many layers of abstraction getting in the way. Apis like direct x make it easier to do things, at the cost of raw speed, but developers use it because it would be an utter nightmare trying to support all the different configurations of hardware otherwise.

On a mega drive you don't have all the other bazillion parts of the os and background programs competing for resources. You don't have to worry about buggy unsupported drivers. You know exactly what you're working with.

No one's claiming JavaScript is as fast as native - it's not. In my tests (done a whole ago, things might be different now) I recall CC was about 1.5-3 times faster than c2 in event execution speed, and c2 was actually faster at rendering. My computer isn't that fast either, an AMD 4400+ with an Nvidia 9800gt, what I would call probably a low-end computer if it were new, and yet most of my stuff runs fine.

As I said before, performance is a complex matter. Even c++ games have performance problems with the os and abstraction layers getting in the way, which is why ati's mantle API was created to try to improve that.Arima2014-02-19 00:28:15
Moderator
B
95
S
34
G
33
Posts: 3,006
Reputation: 27,874

Post » Wed Feb 19, 2014 12:30 am

As of , I wouldn't understand why you would be using C2 if you want megadrive-ish optimisations ? It's probably running assembly , plotting pixels and managing the memory by yourself , and lemme tell you that assembly is real scary , which is the last stop before the ride to hell and loss of sanity
[quote]
...
format PE console
entry start
include 'C:\fasm\include\win32a.inc'
;======================================
section '.data' data readable writeable
;======================================
hello_msg db 'Hello, world!',0
;=======================================
section '.code' code readable executable
;=======================================
start:
     ccall     [printf],hello_msg
     ccall     [getchar]
     stdcall     [ExitProcess],0
;====================================
section '.idata' import data readable
;====================================
library kernel,'kernel32.dll',\
        msvcrt,'msvcrt.dll'
import kernel,\
       ExitProcess,'ExitProcess'
import msvcrt,\
       printf,'printf',\
       getchar,'_fgetchar'
...
source
[/quote]Whiteclaws2014-02-19 00:31:32
B
42
S
17
G
17
Posts: 2,247
Reputation: 17,461

Post » Wed Feb 19, 2014 12:37 am

@Bertie Booster My comment was slightly tongue in cheek and the fact that we are talking about a console released over 25 years ago, just compounds the point...

I am fully aware of how the coding and hardware for the both systems is chalk and cheese, indeed laughable to think that a HTML5 game running on an i7 could not surpass that ancient arcitecture, but please I would love to see your rendition of Gunstar heroes...

Will you be posting it on the Scirra Arcade?Pixel perfick2014-02-19 00:38:43
As long as I can move left, right and fire, I'm Happy...
B
42
S
15
G
11
Posts: 655
Reputation: 12,260

Post » Wed Feb 19, 2014 12:56 am

@whiteclaws lol at your knife example, I do remember you left C2 development to learn a language, looks like the the ride to hell and loss of sanity is due anytime soon... I take it your doing OK with it?

I am not talking about a specific project here, from mega drive to dungeon crawler C2 has all the tools required to produce virtually any 2D game...but is java script running in layers capable enough to deal with the computations of game logic?

@arima, with node webkit "near native performance" is quoted, so is that near native C++ or near native Java script running on only the windows OS layer?Pixel perfick2014-02-19 00:56:38
As long as I can move left, right and fire, I'm Happy...
B
42
S
15
G
11
Posts: 655
Reputation: 12,260

Post » Wed Feb 19, 2014 1:09 am

there is no near native javascript or near native C++

C is native ( I don't know about C++ , but I guess that a native language is the language that was used to code the operating system )

Node-webkit only tries to make native code (C) from the javascript source , it compiles it into C code before runtime , thus making an executable for given platforms , that is what we call an AOT Compiler (Ahead of Time)

HTML5 is javascript , and it gets interpreted (converted) into native code ( I think , correct me if I'm wrong ) in the browser , WHILE running the application , that's called an JIT compiler (Just In Time) , and that's why it's slower than native C , aka NodeWebkit ...
I hope this shed a bit of light on Javascript manners
Moreso , if you want to go more into details , this video is a must (Javascript is interpreted by the way)

And yes , it's going pretty well , I've went from Java to C Whiteclaws2014-02-19 01:18:11
B
42
S
17
G
17
Posts: 2,247
Reputation: 17,461

Post » Wed Feb 19, 2014 1:26 am

Sorry, I worded that wrong, I meant does the performance match C++ running on hardware, Or does it strip the browser layer off comparing it to Code running on windows alone, I always assumed the first, but that's where My programming knowledge runs screaming to C2 lol...
As long as I can move left, right and fire, I'm Happy...
B
42
S
15
G
11
Posts: 655
Reputation: 12,260

Post » Wed Feb 19, 2014 1:32 am

Probably not , but I'm no expert in the domain , @Ashley , any input ?
@Pixel perfick
Edit : going to add one last link
Oh and I have 5 years of Game programming experience(?) from which , only 1 of it is hardcoding (Java and C)Whiteclaws2014-02-19 01:44:56
B
42
S
17
G
17
Posts: 2,247
Reputation: 17,461

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: JesusJ and 19 guests