PDA

View Full Version : Games' speed vs Revit Speed



rudolfesterhuyse
2010-01-21, 01:14 PM
I'll start by admiting that I know nothing about how these things function behind the scenes but perhaps someone can explain: Why is it that computer games can render scenes through which a player can run and shoot other players (moving closer or further away) over the internet or a local network, with 3D buildings and places around which characters can move while one has to wait for something which at least seems comparatively simple in Revit such as changing a view or placing a viewport?

Angelos Kontopoulos
2010-01-21, 01:59 PM
i have the same question

sfaust
2010-01-21, 03:42 PM
While I don't know all the details, the models in video games are much much lighter than the Revit models because they are for a different purpose. They are generally low-polygon models with image maps on them. So for example the face of a building might be a single rectangle face with a detailed image map on it. In Revit you are dealing with solids which allows you to do clash detection, join walls, cut holes in things, etc. This is also why Max, Sketchup, etc. are so light on their feet.

That being said, 2010 picked up performace quite a bit on my system, but would display performance could still use some extra kick...

sbrown
2010-01-21, 03:46 PM
The answer is "low polygon count" Games create very simple representations of buildings and then map images to them to give them realism. Its like faux painting a parking structure with bricks.

The simpler your model (the less hidden line removal it has to compute) the faster. Games also don't have stuff outside the view, have you ever seen in a game where you drive you car off the coarse and see the back side of the surface and there is nothing. In a building we have all this interiors information that revit needs to hide. You can speed up your performance by making sure all your interior lighting, ceilings, doors, etc are on a workset that is off when you are exterior views.

patricks
2010-01-21, 03:51 PM
You can speed up your performance by making sure all your interior lighting, ceilings, doors, etc are on a workset that is off when you are exterior views.

I often do this for all exterior views, including elevations and roof plans.

rudolfesterhuyse
2010-01-21, 05:01 PM
Ok, thanks I think that makes sense.

What I am also wondering is this: lets say someone has to rebuild Revit from scratch today (and they have the resources), not worrying about compatibility with older versions, will it be possible to use, I don't know, a different starting point which would make the pogramme a lot more efficient for example. Does this make any sense?

sbrown
2010-01-21, 09:06 PM
yes and I know they are working on it. When revit was first created multi threading was not available. It is now and so is 64bit so they are working on re-writing parts of the code each release to improve performance.

patricks
2010-01-21, 09:46 PM
case in-point: Revit 2008 had a x64 version released mid-year, while 2009 and 2010 and were made to have 64-bit versions from the start. I heard of problems with people trying to use 2008 x64 that were not present in later versions.

rudolfesterhuyse
2010-01-22, 10:38 AM
Aha! Good to hear.

We had so much problems with Revit 2008 64x that we abandoned hardware upgrades to 64 bit. Even now we buy new machines as 32 bit. Does 64 bit offer significant advantages and should we reconnsidder? And are the bugs resolved?

Scott Womack
2010-01-22, 11:45 AM
Yes 2010x64 does offer significant benefits over the 2009 and 2008x64 versions. Yes, reconsider. All of the machines for Revit at this firm have been x64 for over a year now, no bugs because of x64 (besides the bugs that Autodesk introduced in the 2010 release)

Revit 2010x64 is the first x64 release to see more than 4 gig of ram. Thus more model can be loaded into Ram before it begins paging to disk.

dwills.114624
2010-01-22, 03:16 PM
From a programming point of view Revit's display performance on compatible hardware is remarkable given the job it has to do. I have compared Revit's speed with its leading competitor and let's just say there is no contest. Spinning a building model in hidden line or shaded mode without the whole model disappearing (I know it does on some hardware) takes some programming effort. As a comparison, export your Revit model to AutoCAD and open it, turn on the conceptual visual style and try the same spin. AutoCAD will throw a rod...

Now, the other reason why games are light on their feet is not just low polygon count, which isn't always that low anyway, it is the precision at which the faces are calculated. Revit is *cough* a CAD program *cough* and as such requires far higher display precision than the average game. Also, games scenes are "pre-rendered", adding vastly to the realism without sacrificing performance on a modern video card.

The application I would like to see is an exporter that exports the Revit model via FBX/DXF or similar to a walkthrough application based on one of the GPL licenced game engines, such as Quake 3 (more than enough power -- http://www.idsoftware.com/business/techdownloads/). THAT would be the killer app. Best of all, as it would be GPL, it would be free... :D

DW

mthurnauer
2010-01-22, 04:06 PM
There is also another aspect of it which has to do with hardware designed specifically for one type of task verses being flexible to handle any task. If you were to build a machine with a processor designed specifically for Revit and a graphics card specifically for revit and then an operating system that was nothing but a portal to facilitate the function of revit, you would get much faster performance. Then there is another thing that also enhances the performance of gaming systems which is available in other 3d applications such as 3Ds; you can tell the program what objects cast shadows and which do not. You can also limit what surfaces receive shadows. Along with this is the ability to indicate which lights cast shadows and indicate that the lights only cast shadows for certain objects. So, you can have one light that creates the shadows for the animated characters and the lights that make the scene look realistic may not be calculating shadows for the moving objects. Some of the environment lights may actually have their light and shadow baked into the materials.

Tom Phillips
2010-01-22, 06:45 PM
A little off subject, but...

Has anyone performed a side-by-side comparison with 2010 32 bit vs. 64 bit, using the recommended hardware setup?

ron.sanpedro
2010-01-22, 07:23 PM
A little off subject, but...

Has anyone performed a side-by-side comparison with 2010 32 bit vs. 64 bit, using the recommended hardware setup?

In general my sense has been that there is rather little speed difference between the two, but a HUGE stability difference. There will be a small band of model sizes right below the threshold of what Revit x32 can handle where 32 bit will start to page and 64 bit won't, and thus x64 will be faster. But in the majority of cases x64 just means your model can be bigger. in x32 that model will simply crash Revit, and in x64 it won't. Of course x64 is more useful if in fact you have more RAM, so a comparison of both at 4GB is going to look a lot like parity, with x64 seeing a little benefit due to how memory is managed (meaning more of that 4GB will actually be available.) x64 really doesn't shine until you have more RAM than x32 could use, so apples to apples hardware is a meaningless comparison.

And for what it is worth, when going to 64 bit, I can't recommend anything other than Windows 7. XP x32 is viable, but XP x64 is a joke. And Vista is fustercluck of epic proportions. Windows 7 solves a good chunk of Vista's garbage, adds some very useful features compared to XP, and offers real benefits with regards to powerful graphics cards and such. There are very real issues (printer drivers, VOIP Outlook integration, etc), but if you need 64 bit Revit, the strengths of Win7 far outweigh the weaknesses.

Gordon

ben.136902
2010-01-23, 12:25 AM
Lot of misinformation on this thread. Modern games have extremely high polygon counts, much higher than that of revit users typical models. The graphics engine is written much efficiently to use the video card to help with this additional load. Revit only uses cpu power, the video card is maybe 5% of the total when it comes to revit performance. Faster the cpu the faster revit operates.

Also major other programs were written to be fully multi threaded that use vastly more complex processing engines and much higher floating point calculations in far less time than its taking autodesk. Is that because the developers at autodesk are not good, i doubt it...i doubt it was much of a priority.

Again modern games are much more detailed than any revit model in terms of the # of polygons processed and the # per second or frame rate. Take a look at a modern world of any advanced PC game i.e. cyprus and there is no comparison. Hence why dual video cards are often required to maintain the frame rates and why changing the CPU speed after a given medium to high rate only affects certain game benchmarks. All the processing is offloaded to the GPU that can process many threads at once whereas revit is still based on technology that was built in the late 90's.

webmaster.84284
2010-03-23, 04:12 PM
One huge aspect that's been missed here is how the geometry works in games vs revit.

I think you'd actually be surprised at the level the meshes in games these days. Still, it's not as complex as a standard 3D model.

The big difference though isn't as much complexity but the aspect that makes things like revit what they are, that being, their parametric abilities. If you think of a wall as a 6 sided object, it has just that - 6 sides - and 8 vertex points defining it's corners. A game model has to remember just that. The location of the 8 vertex points and the associated faces of that piece of the model. In Revit, it has to remember that, plus the definition of the wall. It has to be able to display that wall in 2D or 3D views at the drop of a hat. It has to retain everything that makes it a wall. The ability to add a door or window to it and then all the properties of that door. And all the basic wall properties as well....You can keep exanding the list of everything revit has to track for a basic wall in a scene when you rotate it or change views, etc.

In a game, you have a bunch of static objects that don't actually do anything but exist. They have no ability for special funcitonality. Those objects in a game that actually have special funcitonality are reserved just for those things. A wall that explodes into 50 piece has more properties, but the other 500 walls in the level don't have the properies. General meaning being a building with 500 walls has over 100x more information in it with revit than the same building will as a game level.

cliff collins
2010-03-23, 07:19 PM
webmaster raised a critical difference in games vs revit.

An analogy could be made between revit and 3dsmax or Sketchup.

BIM modeling and purpose is TOTALLY different than a "throw-away"
visualization model made out of "paper thin" meshes and polygons like in 3dsmax
or Sketchup.

You could build the same project in revit and in 3dsmax, and then total the number
of polygons and revit's would be far greater.

The BIM software is keeping track of intelligent relationships between model elements, schedules, sheets, views, etc. where a "viz" model is just faces with maps applied
for rendering and animation.

It is not a valid comparison to even try to "benchmark" revit against a game-engine model.
2 completely different "worlds" --pun intended.

As a side-bar to this thread, there are a lot of designers who want to take their revit models
and place them inside a gaming engine like Crytek and Unreal--to get the best of both "worlds", so to speak.

cheers

rudolfesterhuyse
2010-03-23, 08:56 PM
Thanks for all the info...it is really insightful. I've always suspected some programming inefficiencies in Revit but this has given me some new food for thought.

As a side note: How easy is it for Revit to recruit and retain the best programmers compared with say gaming companies? If you are a programmer would you rather work forAutodesk on Revit or for a gaming company or does if not really matter much in terms of what you do, what you get paid etc.?

Captainkb
2010-03-26, 07:21 PM
Thanks for all the info...it is really insightful. I've always suspected some programming inefficiencies in Revit but this has given me some new food for thought.

As a side note: How easy is it for Revit to recruit and retain the best programmers compared with say gaming companies? If you are a programmer would you rather work forAutodesk on Revit or for a gaming company or does if not really matter much in terms of what you do, what you get paid etc.?


Here is a test that I did. Bring in a Revit model into a game engine (Unity3d), and see what I can do. I didn't get to geeked up on materials, when I exported the model to .FBX the lights were shut off. I imported 2 videos also pretty easy to do.

Exported Revit straight to .FBX. Unity3d imports .FBX pretty easily. I guess some people have told me that it is real jerky on there pc. I did try it on my home laptop with a wifi and it was jerky...lol Can anybody tell me if it runs smooth on their pc?

http://www.kb3dgraphics.webs.com/

Paul Monsef
2010-03-27, 03:04 PM
Can anybody tell me if it runs smooth on their pc?
http://www.kb3dgraphics.webs.com/
Hey that's pretty slick. It ran smooth here.

m20roxxers
2010-03-27, 03:31 PM
How easy is it for Revit to recruit and retain the best programmers compared with say gaming companies? If you are a programmer would you rather work forAutodesk on Revit or for a gaming company or does if not really matter much in terms of what you do, what you get paid etc.?

You'd be suprised in the differences in technology and gaming programs.
There are many different roles and many high end gaming programers will do nothing more then build toolsets and pipelines for designers to work in.
Factor in artists, modellers, animaters, texture and renderers and most of the people again work at only base levels of the software.
The role out and use of technology is totally different requiring different systems.
For instance twitch control systems control little more then an animation that is pre-rigged to a model.
This is then triggered with a location point in a world to simulate movement. But the differences already start here, for instance many games have a "fog" that removes details at distances.
This process alone is actually two seperate processes that can happen seperately and therefore can be scalable quite easily.

Also in regards to lighting and textures, in games most textures have baked reflections built into them, which means they don't reflect light they just look like they do it's a great way to lower poly's and still give nice appearing models.

Revit constantly has to evaulate light against materials and has no "fog" on distances.
As brought up before most models in games are planes and have no thickness, when you cut a section in 3D against a revit solid you see all the exposed layers or elements of that item.

Parametrics is again another very important feature. It allows for many manipulations, while many gaming items that break or pull apart, are again trigger scripted items.

Revit with some magical complete GPU system won't necesarily make things any better same with CPU
GuyR wrote a really good example on this at his blog here
http://redbolts.com/blog/post/2010/02/01/multi-core-scaling-of-the-Revit-Database.aspx

GPU's only confound the same issue no matter how many cores are around many process rely on other things to happen first and cannot be done at the same time.

Easiest example is I have to open a door to walk through it, I can't open and walk through at the exact same time.

rudolfesterhuyse
2010-04-08, 10:57 AM
Thanks, useful, I'm convinced now that Revit isn't just slow because of problems in the code. It seems inherrent to what you want to achieve with the software.

DaveP
2010-04-08, 03:39 PM
It seems inherrent to what you want to achieve with the software.

That's the crux of the issue to me.
This thread talks about bringing a Revit model into a gaming engine and finding out how fast you can zoom around in it, which would theoretically prove that the gaming system was superior.

What do you supppose would happen if you brought in a building in from Quake 3 and tried to create a set of Construction Documents from it?

eric.piotrowicz
2010-04-08, 03:48 PM
What do you supppose would happen if you brought in a building in from Quake 3 and tried to create a set of Construction Documents from it?

My intial thought is flagrant code violations :lol:

truevis
2010-04-09, 01:49 AM
Originally Posted by DaveP http://forums.augi.com/images/buttons/viewpost.gif (http://forums.augi.com/showthread.php?p=1057942#post1057942)
What do you suppose would happen if you brought in a building in from Quake 3 and tried to create a set of Construction Documents from it?
My initial thought is flagrant code violations :lol:
Wouldn't you just shoot (on the screen, with great blood spatter) anyone who objected to your splendid designs? An architect's dream...

BTW, 2011 is supposed to have realistic, semi-rendered live views. We'll see how gamey that is.

eric.piotrowicz
2010-04-09, 02:23 PM
Wouldn't you just shoot (on the screen, with great blood spatter) anyone who objected to your splendid designs? An architect's dream...

BTW, 2011 is supposed to have realistic, semi-rendered live views. We'll see how gamey that is.

What? You don't like my pits of acid and 30 foot drops with no gaurdrails? *takes out plasma gun* hahaha I'm reminded of the Monty Python - Architect Sketch.