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 / DarkGDK.net questions

Author
Message
Jase
19
Years of Service
User Offline
Joined: 8th Apr 2005
Location: England
Posted: 29th Dec 2008 20:52
Hello All

I have a couple of questions about DarkGDK.NET.

How does it compare in terms of speed against DarkGDK?
What are the advantages of DarkGDK.NET over XNA?
Can multi- threading be used? say 1 for render and another for AI

Thanks

MetalMackey
Lilith
16
Years of Service
User Offline
Joined: 12th Feb 2008
Location: Dallas, TX
Posted: 30th Dec 2008 17:31
1. I've read where someone said there's about a 7% loss of speed using the .NET version.

2. A lot easier to learn and to program.

3. It should be possible. You'd just have to include the threading namespace. It would complicate the programming due to overhead for communicating between the threads. I found this harder to do in .NET than I did under MFC.

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 20:11
And that's why I love free pascal - the multi threading bit is awesome.



Yoda Master
16
Years of Service
User Offline
Joined: 23rd Feb 2008
Location: Genova
Posted: 31st Dec 2008 18:22
I don't think multithreading programming is so hard in .NET, I use it a lot in my programs without any problem about performance... That's strange!!

Fear leads to anger
Anger leads to hate
Hate leads to suffering
Yoda Master
16
Years of Service
User Offline
Joined: 23rd Feb 2008
Location: Genova
Posted: 31st Dec 2008 18:23
Quote: "

And that's why I love free pascal - the multi threading bit is awesome.

"


What it is sweet for one can be bitter for others.

Fear leads to anger
Anger leads to hate
Hate leads to suffering
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 31st Dec 2008 18:30
Absolutely... The reason I like the FreePascal Multithreading is that there aren't to many ways to do it - and the portability is nice too... you have two main ways for interthread syncing... sync and critical sections - that's it... Create suspended, or not, Critical section or sync, instruct to quit nicely or slam out of memory. It's intuitive for me.

--Jason

APEXnow
Retired Moderator
21
Years of Service
User Offline
Joined: 15th Apr 2003
Location: On a park bench
Posted: 1st Jan 2009 23:57
Jase

Q. How does it compare in terms of speed against DarkGDK?

A. The DarkGDK will always be faster than the .NET equivalent. The DarkGDK.NET toolkit uses the C++ version as the basis for it's wrappers, and therefore will have a falloff due to the extra call into the library. .NET itself is a very efficient language though and on modern systems, .NET and typically, XNA based applications run almost as fast as the C++ native builds.

Q. What are the advantages of DarkGDK.NET over XNA?

A. XNA is basically CSharp with the DirectX inteface embedded using classes for simplifying the development of games and applications for the XBox (and PC) platform. You will definately find DarkGDK.NET easier to learn and program than XNA. Plus using Visual Basic.NET makes an easier learning curve as a language itself. Either way, unless you've programmed using CSharp and XNA before, you may find it easier to start with VB and DarkGDK.NET. I'm sure there will be people who will disagree with me, but isn't there aleays

Q. Can multi- threading be used? say 1 for render and another for AI

A. Multithreading is supported in general under .NET but I cannot assure you on whether the internal engine code of DarkGDK is thread safe. I have seen other people's example programs that used multithreading in .NET, and they functioned just fine. There were some small issues with sharing control code across thread boundaries, but normally the .NET controls provide events for handling this. And if you're using calls into things like Loading object data etc, just place these calls into a mutex to protect the internal engine code from being fragged by other thread processes.

Hope this information helps.

Paul.

Login to post a reply

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