Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark GDK / We use Managed C++ or Native?

Author
Message
study
15
Years of Service
User Offline
Joined: 12th Dec 2008
Location:
Posted: 26th Dec 2008 04:58
Hi friends
i'm a little confuse to understand what kind of C++ we are use in Dark GDK.
Dark GDK uses .net fram work to run right?
I mean we run our games with C++ CLR or native? ( .net or win32 or other? )
Thanks
Zuka
16
Years of Service
User Offline
Joined: 21st Apr 2008
Location: They locked me in the insane asylum.
Posted: 26th Dec 2008 09:58
I think the C++ version is native, and the C# version is managed, like all C#. Which is why C++ is about 7% faster.
Zotoaster
19
Years of Service
User Offline
Joined: 20th Dec 2004
Location: Scotland
Posted: 26th Dec 2008 17:23
I believe all the .NET versions are managed, whereas the normal C++ is native, yeah.

IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 26th Dec 2008 23:29
The DarkGDK.NET is a managed wrapper to the native DarkGDK. DarkGDK itself doesn't need the .NET framework to run.

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 28th Dec 2008 08:29
Dark GDK = native C++.
Dark GDK.NET = any .NET supporting language I assume. Meaning Visual Basic, C#, and Managed C++. Probably forgot one in there but others are unimportant >.> Visual basic was lucky to make it to the list.
Don Malone
21
Years of Service
User Offline
Joined: 27th Apr 2003
Location: Birmingham, Alabama
Posted: 29th Dec 2008 13:18 Edited at: 29th Dec 2008 13:18
Quote: "Dark GDK = native C++."

I would guess that is partially correct. IanM said
Quote: "DarkGDK itself doesn't need the .NET framework to run."
as originally the GDK would work with a non .Net C++ that I don't remember the name of right off. But if you are using Microsoft Visual C++ Express edition, you probably would be using a managed C++ version, right?


Marx Brothers and Dark Basic Professional Forever
study
15
Years of Service
User Offline
Joined: 12th Dec 2008
Location:
Posted: 30th Dec 2008 03:46
In VC++ 2008 you can use both C++/CLI and ISO/ANSI C++.
Lilith
16
Years of Service
User Offline
Joined: 12th Feb 2008
Location: Dallas, TX
Posted: 30th Dec 2008 17:20
Quote: "But if you are using Microsoft Visual C++ Express edition, you probably would be using a managed C++ version, right?"


You have to be running the .NET version to use managed C++.

Lilith, Night Butterfly
I'm not a programmer but I play one in the office
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 30th Dec 2008 23:13
LOL - Yeah - to my knowledge: DarkGDK = C++ Native, DarkGDK.Net = Managed.

this 7% difference speed difference I think is majorly SKEWED.... as it SO depends what you're doing. JIT Causes major chugs at start up, spinning loops in C++ is typically faster than CLR and garbage collection, if not managed by hand, will cripple performance at in opportune times.

I think they are both great - but I have a hard time with a finite 7% value being applied to compare... But that's probably me being to technical or something to just be happy with generalizations

--Jason

Yoda Master
16
Years of Service
User Offline
Joined: 23rd Feb 2008
Location: Genova
Posted: 31st Dec 2008 18:18
@Benny53:

Quote: "
Meaning Visual Basic, C#, and Managed C++. Probably forgot one in there but others are unimportant >.> Visual basic was lucky to make it to the list.
"


I hope you are joking about Visual Basic. We are in 2009 almost and we are already pointing the finger to VB only because of the word "basic"??

Fear leads to anger
Anger leads to hate
Hate leads to suffering
Zuka
16
Years of Service
User Offline
Joined: 21st Apr 2008
Location: They locked me in the insane asylum.
Posted: 4th Jan 2009 09:04
Do you forget that TGC got where it did using the BASIC language? No, most of the older professional programmers. Where did they get their beginnings? BASIC.
pirogoth
16
Years of Service
User Offline
Joined: 6th Apr 2008
Location: Good Old California
Posted: 4th Jan 2009 10:47
@Jason
Depends on the loop. In .NET 2.0 the foreach loop variations (C# and VB) were notoriously slow, whereas your standard for and while loops are almost identical in speed to their C/C++ counterparts. This has changed in 3.0 from my understanding.

While managed languages do have a roughly 7% speed difference (depending on the benchmark and what's being tested) this won't matter for most people. I do understand that this may be an issue when using the DarkGDK as it's fairly slow even when using native code. The DarkGDK is very easy to use and learn, however it isn't very fast.

I've coded everything from games to emulation code in .NET. I'm even working on a new HPC (High Performance Computing, think clusters or grid computing) system, written in .NET. Is there a speed difference? Yes. Is it significant? No, not unless you're working on hard real-time systems (Games are not hard real-time systems. Think medical equipment.)

@Zuka
Not quite true. Where did most of the older professional programmers get their beginnings? Punchcards, ASM, Cobol and most importantly, Fortran. BASIC is a VERY new language comparatively. BASIC was created for those who did not have any training in computer science. It was not intended for professionals.

Having taught programming for a short while, I'd never teach beginning programmers BASIC. It teaches bad habits such as bad structuring which leads to spaghetti code (goto is not evil if used as intended, this just never happened). It also makes learning other third generation languages that much more difficult due to the way the language is used (both syntactically and conceptually).

I have no issue with people liking or using BASIC languages, it most definitely has it's place. TGC targets this place quite well with it's DarkBasic language. It's not intended for computer science majors, but for hobbyists.

Don't get angry when people talk badly about BASIC. It was an excellent idea that came at a tremendous price. The job market became flooded with so called "programmers" who only had skill in BASIC languages but had no useful experience in the real world. Getting jobs became harder and getting work done became far more difficult due to inexperienced staff. There's a reason many people scoff at BASIC languages.

Just keep it in mind.

-Piro
Zuka
16
Years of Service
User Offline
Joined: 21st Apr 2008
Location: They locked me in the insane asylum.
Posted: 4th Jan 2009 11:01
I meant that quite a few of the really great professionals got their beginnings in BASIC.

Mine came from Javascript, which is why I was able to pick up so fast on C++.
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 4th Jan 2009 17:39
@PiroGoth -
Quote: "I do understand that this may be an issue when using the DarkGDK as it's fairly slow even when using native code. The DarkGDK is very easy to use and learn, however it isn't very fast."


There is a major bottle neck in the render some how related to sync rate or something - I ran a test program for someone in DB New Comers forum - and I got 1300+ FPS ... SO fast was the render for DBPRO it made my timing code useless! I think I'm going to have to do compares with FPS somehow and TimeElapsed. In DarkGDK you can use QueryPerformance Timer to get higher resolution clock ticks - but thats got its issues also - but not worth mention IMHO unless you are driving real missiles/rockets, satelites, or other mission critical realtime applications.

Quote: "Having taught programming for a short while, I'd never teach beginning programmers BASIC. It teaches bad habits such as bad structuring which leads to spaghetti code (goto is not evil if used as intended, this just never happened). It also makes learning other third generation languages that much more difficult due to the way the language is used (both syntactically and conceptually)."


I can see that point of view, let me add back in the day we had two choices typically on a home machine like a timex sinclair, commodore 64.. perhaps apple I, II, IIe also.. BASIC or ASSEMBLER... Personally i did fine learning basic, and learned GOSUB early on at a "Computer Camp" when I was still 10 years old (Won most decicated to programming LOL) .. but after I couldn't understand why my games ran slower than the ones I purchased or downloaded... I stared at the ASSEMBLER reference manual and it dawned on me what it was! LOL... but I couldn't get it right off - so I bought this 8 bit Tandy/Radio Shack kit with a hexadecimal key pad and two LED display digits capable of displaying 2 letters (or numbers) and a little MACHINE CODE manual.. once I got a few programs in that running - the Assembly Manual for the commodore 64 made sense - and I was off and running! LOL

--Jason

Lilith
16
Years of Service
User Offline
Joined: 12th Feb 2008
Location: Dallas, TX
Posted: 5th Jan 2009 23:22
Quote: "No, most of the older professional programmers. Where did they get their beginnings? BASIC. "


Actually 8080/Z80 assembly language. BASIC was for quick and dirty things. Then again, no one's ever called me professional.

Lilith, Night Butterfly
I'm not a programmer but I play one in the office
sydbod
16
Years of Service
User Offline
Joined: 14th Jun 2008
Location: Just look at the picture
Posted: 6th Jan 2009 00:54
Old YES
Professional NO

Assembler for 6800 and 6502. Never did like the 8080 ... it had a large instruction set but wasted too much clock cycles per instruction. The Motorola and Synertek chips were a little more like RISC.
Lilith
16
Years of Service
User Offline
Joined: 12th Feb 2008
Location: Dallas, TX
Posted: 6th Jan 2009 01:07
The 8080 wasn't a problem for me, maybe because it was my first. Up to that point I'd never done any programming. I didn't find the instruction set at all daunting. I looked at the 6800 instruction set and, though it didn't look difficult, I didn't have anything on which to apply it. I had my Altair for the 8080/Z80 stuff. 6502? Ick!! Where are the registers? How the hell did you do anything? Hold data? I looked at 6502 code because I'd considered cross-assembling for an emulation but that faded quickly.

Lilith, Night Butterfly
I'm not a programmer but I play one in the office
sydbod
16
Years of Service
User Offline
Joined: 14th Jun 2008
Location: Just look at the picture
Posted: 6th Jan 2009 11:50
AHHHH 6502 was used in the "OHIO SCIENTIFIC" range of computers.

6800 and 6502 could have bean almost brothers in register structure, instruction set, and speed of operation. Nearly all operations were based on one clock cycle. Memory Load and Store instructions were very fast so one did not require that many registers.
Those days of lightning fast speed cpu that performed at one MIP.... how I enjoyed them. The most complex games were basically a version of Ping Pong or text based lunar lander.
Come to think of it, I even played with the National Semiconductor based SCMP cpu. It didn't even have a stack pointer. One had to use a register swap instruction called XPPC (swap program counter with pointer register) where one had to physically grab the contents of the program counter and with a memory store instruction, place it into a memory stack, and do the reverse when one returned.
I better stop talking before people realize how ancient I am.

Login to post a reply

Server time is: 2024-09-30 15:26:21
Your offset time is: 2024-09-30 15:26:21