Mat Noguchi (BUNGIE | 2 Jan 2005 22:53
Picon
Favicon

RE: Interactive profiling of multi-threaded apps

Wouldn't that be GetThreadTimes(...)?

MSN

________________________________

From: sweng-gamedev-midnightryder.com-admin <at> lists.midnightryder.com on behalf of Jon Watte
Sent: Wed 12/22/2004 9:31 AM
To: sweng-gamedev <at> midnightryder.com
Subject: RE: [Sweng-gamedev] Interactive profiling of multi-threaded apps

> The problem isn't one of arbitrating data storage space so much as it is
one
> of being able to determine what part(s) of your time samples were actually
> spent switched out to another thread.

At the time, I had good connections with the people doing the OS (I was
at Metrowerks, and we were targeting BeOS), so we got a very fast timer
for "current thread CPU time" out of them. That took care of that part.

As you say, on Windows, it's more of a "if I could feed everyone in the
world..." kind of situation.

Cheers,

                / h+

_______________________________________________
Sweng-gamedev mailing list
Sweng-gamedev <at> lists.midnightryder.com
(Continue reading)

Jon Watte | 3 Jan 2005 18:55

RE: Interactive profiling of multi-threaded apps


> Wouldn't that be GetThreadTimes(...)?

The question is how efficient it is. Our friends on the kernel 
team put thread times in user-accessible thread-local storage, 
vectored from a debug register, so it was quite quick to read; 
that's important for a profiler.

I'm timing GetThreadTimes at around 1150 cycles (when in L1), 
which is kind-of high, but not as high as one might fear.
(Pentium 4, 3.2 GHz)

Cheers,

			/ h+

_______________________________________________
Sweng-gamedev mailing list
Sweng-gamedev <at> lists.midnightryder.com
http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com

Chuck Walbourn | 4 Jan 2005 20:16
Picon
Favicon

RE: Asset Pipelinage [Was: JAM vs. Boost.jam]

>We have recently been rethinking this issue as we develop our next-gen
platform - our solution is that the game
>engine reads the native formats at all times until you pack the final
game, at which point you can run an
>optimizer on the content and convert to whatever final state your
delivery (as opposed to development) platform
>requires.

My experience with game engines that use 'native/artist' formats is that
the load times get pretty painful with 'on-the-fly' conversions.  You
are basically building in a lot of scaffolding that shouldn't be
required for your final game.  If you are going to go this route, I
suggest putting in a fair amount of work to optimize your 'native
format' codebase for performance and ideally make it such that you can
compile a version of the engine that has no code for development-only
formats.

I've personally worked on engines that did everything in 'artist
friendly' formats, those that used only compiled formats, and those that
used intermediate formats.  They all have their costs, advantages, and
disadvantages.  Just be sure you think the entire process through before
committing to any one of them.

-Chuck Walbourn
SDE, Windows Gaming & Graphics
_______________________________________________
Sweng-gamedev mailing list
Sweng-gamedev <at> lists.midnightryder.com
http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com

(Continue reading)

Dave Owens | 7 Jan 2005 15:08

Multi platform Setups for MsDev.NET

This is probably a well trodden path, but does anyone have any views/opinions or successes they want to share with regards to setting up a single Workspace that allows multi-platform code to be built from a common base, i.e. PC AND PS2, etc...

I've yet to come up with an elegant solution, and ideally, Id like to stay within the bounds of .NET, without having to wander into makefiles/jam/scons/etc

Dave Owens
Captain Codddddddddddeeeeerrrrrr!!!!!!!
.....Oonga Boonga.....
CLIMAX  Action
7 - 10   Somerville  Offices   /   North  Promenade Building
Gunwharf Quays / Portsmouth / PO1 3TT / +44 (0) 23 9286 3675




Stefan Boberg | 7 Jan 2005 17:11
Picon

RE: Multi platform Setups for MsDev.NET

   What did you try? What do you use now?

 

  Here at DICE the now-gen teams use VSI.Net for PS2 projects. But it’s not really working that well I think.

 

  At my previous job I designed a makefile-based build system which integrated with VS.Net very cleanly by using the Makefile project type. The nice thing here is that you can have some configurations use the standard PC/Xbox project type, and the PS2/NGC configs use the Makefile project type.

 

  Our new build system will use a generative approach instead, which gives more control over build options. Or at least, makes it possible to actually understand what options are enabled across the 5 platforms and 90 projects :P

 

/Stefan

 

From: sweng-gamedev-midnightryder.com-admin <at> lists.midnightryder.com [mailto:sweng-gamedev-midnightryder.com-admin <at> lists.midnightryder.com] On Behalf Of Dave Owens
Sent: 07 January 2005 15:09
To: sweng-gamedev <at> midnightryder.com
Subject: [Sweng-gamedev] Multi platform Setups for MsDev.NET

 

This is probably a well trodden path, but does anyone have any views/opinions or successes they want to share with regards to setting up a single Workspace that allows multi-platform code to be built from a common base, i.e. PC AND PS2, etc...

I've yet to come up with an elegant solution, and ideally, Id like to stay within the bounds of .NET, without having to wander into makefiles/jam/scons/etc

Dave Owens
Captain Codddddddddddeeeeerrrrrr!!!!!!!
.....Oonga Boonga.....
CLIMAX  Action
7 - 10   Somerville  Offices   /   North  PromenadeBuilding
Gunwharf Quays / Portsmouth / PO1 3TT / +44 (0) 23 9286 3675



Jim Tilander | 8 Jan 2005 01:09

RE: Multi platform Setups for MsDev.NET

In the past I've tried to have a very simple text based description of all the source files and build steps that doesn't depend upon any one buildsystem. Different scripts can then generate ready to go makefiles/scons files or visual studio projects. This enabled us to:
 
1. Easily switch build system
2. Have total control over all project options within visual studio without going through the mouse interface.
3. Easily generate separate projects and solutions for visual studio for each platform (exclude from build is so hard to see in the solution explorer).
4. Avoid integration hell for our .vcproj files -- you just regenerate the project files and accept yours.
 
Some people didn't like the separate solutions for each platform though, but I found it to considerably speed up Visual Studio and make it less prone to crash.
 
The point I'm trying to make is that the monolithic visual studio solution quickly becomes unmanageable and can very easily become a hell to merge with several developers (especially if you put several branches on the things as well). Better to move away from the horrid xml and have easy to merge text files. The added benefit of being able to break the huge visual studio solution into smaller solutions that makes visual studio more happy and less crash prone is just an added benefit I think, but a very nice one.
 
/j
 
-----Original Message-----
From: sweng-gamedev-midnightryder.com-admin <at> lists.midnightryder.com [mailto:sweng-gamedev-midnightryder.com-admin <at> lists.midnightryder.com] On Behalf Of Stefan Boberg
Sent: Friday, January 07, 2005 8:11 AM
To: sweng-gamedev <at> midnightryder.com
Subject: RE: [Sweng-gamedev] Multi platform Setups for MsDev.NET

   What did you try? What do you use now?

 

  Here at DICE the now-gen teams use VSI.Net for PS2 projects. But it’s not really working that well I think.

 

  At my previous job I designed a makefile-based build system which integrated with VS.Net very cleanly by using the Makefile project type. The nice thing here is that you can have some configurations use the standard PC/Xbox project type, and the PS2/NGC configs use the Makefile project type.

 

  Our new build system will use a generative approach instead, which gives more control over build options. Or at least, makes it possible to actually understand what options are enabled across the 5 platforms and 90 projects :P

 

/Stefan

 

From: sweng-gamedev-midnightryder.com-admin <at> lists.midnightryder.com [mailto:sweng-gamedev-midnightryder.com-admin <at> lists.midnightryder.com] On Behalf Of Dave Owens
Sent: 07 January 2005 15:09
To: sweng-gamedev <at> midnightryder.com
Subject: [Sweng-gamedev] Multi platform Setups for MsDev.NET

 

This is probably a well trodden path, but does anyone have any views/opinions or successes they want to share with regards to setting up a single Workspace that allows multi-platform code to be built from a common base, i.e. PC AND PS2, etc...

I've yet to come up with an elegant solution, and ideally, Id like to stay within the bounds of .NET, without having to wander into makefiles/jam/scons/etc

Dave Owens
Captain Codddddddddddeeeeerrrrrr!!!!!!!
.....Oonga Boonga.....
CLIMAX  Action
7 - 10   Somerville  Offices   /   North  PromenadeBuilding
Gunwharf Quays / Portsmouth / PO1 3TT / +44 (0) 23 9286 3675



Kent Quirk | 8 Jan 2005 05:20

Re: Multi platform Setups for MsDev.NET

It seems to me that the whole point of .NET is to lock you into developing windows apps. They're not going to make it easy, and they're probably not going to make it even *possible* to develop applications for other platforms without leaving .NET.

I'm wrestling with this now on a project that started on the PC and is now moving to the mac, and it's a royal pain. Right now, SCons is looking pretty good, but that's partly because we're already heavy users of Python, and I can easily see how to use some of the code we already have to make our SConscripts more intelligent. I also prefer its dependency model to that of Jam, as well as the scripting language. Jam's language is just silly.

        Kent

At 09:08 AM 1/7/2005, you wrote:

This is probably a well trodden path, but does anyone have any views/opinions or successes they want to share with regards to setting up a single Workspace that allows multi-platform code to be built from a common base, i.e. PC AND PS2, etc...

I've yet to come up with an elegant solution, and ideally, Id like to stay within the bounds of .NET, without having to wander into makefiles/jam/scons/etc

Dave Owens
Captain Codddddddddddeeeeerrrrrr!!!!!!!
.....Oonga Boonga.....
CLIMAX Action
7 - 10   Somerville  Offices   /   North  Promenade Building
Gunwharf Quays / Portsmouth / PO1 3TT / +44 (0) 23 9286 3675


----
Kent Quirk
CTO, CogniToy
Brett Bibby | 8 Jan 2005 10:22

Re: Multi platform Setups for MsDev.NET

We have tried repeatedly to get CodeWarrior's .NET integration working, but
we have yet to make it work satisfactorily.  My main issue with it is that
it is too integrated: it installs and modifes menus, options and toolbar
buttons.  This all sounds good except it doesn't override .NET's
functionality, but rather runs aprallel to it.  So when you right click on a
project for example, instead of "properties" you select the CodeWarrior
settings option instead.  Same goes with compile, build, run, debug, etc.
This makes all the menus longer and more cluttered.  Although you can use
.NET's code editor and output, it isn't at all like just having other
projects or targets embedded into a solution.

I grumble about CodeWarrior a lot, but the fact is that it is a very
multi-platform friendly environment.  For example, since a lot of files have
platform dependent code, it's pretty useful to organize the project into
sub-folders.  So if you have Particle.cpp with all the generic particle
behavior and management, you might also have ParticlePs2.cpp,
ParticleXbx.cpp, etc. to implement the platform specific optimizations and
data handling.  You quickly end up with numerous files and the logical thing
to do is put them into sub-directories.  The problem is that .NET doesn't
handle multiple platforms and include directories very well.  You either
have to use "exclude files" options combined with "additional include
directories" and this is a pain.

You're probably better off doing Windows targets under .NET, and finding a
combo of other tools to build and debug the rest.  I used to recommend
CodeWarrior as a great environment, but it doesn't officially support DX9
and won't build a DX9 project depending upon the functions and libs included
in your project.  But with OpenGL it's fine and also DX8.1.

If you manage to get a good .NET setup for multiple platforms be sure to
share your experience with us!

Cheers,
-bb

----- Original Message ----- 
From: "Dave Owens" <daveo <at> climaxgroup.com>
To: <sweng-gamedev <at> midnightryder.com>
Sent: Friday, January 07, 2005 10:08 PM
Subject: [Sweng-gamedev] Multi platform Setups for MsDev.NET

> This is probably a well trodden path, but does anyone have any
> views/opinions or successes they want to share with regards to setting up
a
> single Workspace that allows multi-platform code to be built from a common
> base, i.e. PC AND PS2, etc...
>
> I've yet to come up with an elegant solution, and ideally, Id like to stay
> within the bounds of .NET, without having to wander into
> makefiles/jam/scons/etc
>
> Dave Owens
> Captain Codddddddddddeeeeerrrrrr!!!!!!!
> .....Oonga Boonga.....
> CLIMAX  Action
> 7 - 10   Somerville  Offices   /   North  Promenade Building
> Gunwharf Quays / Portsmouth / PO1 3TT / +44 (0) 23 9286 3675
>
>
>
>
>

_______________________________________________
Sweng-gamedev mailing list
Sweng-gamedev <at> lists.midnightryder.com
http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com

Amy Phillips | 19 Jan 2005 12:00

Checking for unnecessary #included files

Good morning!

Do you know of any programs or scripts that can be used to check a source
base for unnecessary #includes?  I would like it to pick up on header files
that are included but none of the contents are used.  Also I'd like it to
realise where you have a pointer to an object, and could replace 

#include "ClassA.h" 

with a declaration

class CClassA

Does such software exist, either as freeware or to buy?  

Thanks,

	Amy
_______________________________________________
Sweng-gamedev mailing list
Sweng-gamedev <at> lists.midnightryder.com
http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com

Stefan Boberg | 19 Jan 2005 12:06
Picon

RE: Checking for unnecessary #included files

   I *think* PC-Lint should be able to do just that, but it's not easy
to get it set up on a large codebase so we haven't gotten around to
doing it yet. If you find another alternative, I'd love to hear about
it.

Cheers,
Stefan
--
Stefan Boberg
Chief Technical Officer
Digital Illusions CE AB

> -----Original Message-----
> From: sweng-gamedev-midnightryder.com-admin <at> lists.midnightryder.com
> [mailto:sweng-gamedev-midnightryder.com-admin <at> lists.midnightryder.com]
On
> Behalf Of Amy Phillips
> Sent: 19 January 2005 12:01
> To: gamedevlists-general <at> lists.sourceforge.net; sweng-
> gamedev <at> midnightryder.com
> Subject: [Sweng-gamedev] Checking for unnecessary #included files
> 
> Good morning!
> 
> Do you know of any programs or scripts that can be used to check a
source
> base for unnecessary #includes?  I would like it to pick up on header
> files
> that are included but none of the contents are used.  Also I'd like it
to
> realise where you have a pointer to an object, and could replace
> 
> #include "ClassA.h"
> 
> with a declaration
> 
> class CClassA
> 
> Does such software exist, either as freeware or to buy?
> 
> Thanks,
> 
> 	Amy
> _______________________________________________
> Sweng-gamedev mailing list
> Sweng-gamedev <at> lists.midnightryder.com
> http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-
> midnightryder.com
_______________________________________________
Sweng-gamedev mailing list
Sweng-gamedev <at> lists.midnightryder.com
http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com


Gmane