Jump to content

  • Log In with Google      Sign In   
  • Create Account

In Graphic engine, how many Drawf is drawing() enough ?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
7 replies to this topic

#1 AquaMacker   Members   -  Reputation: 255

Like
0Likes
Like

Posted 15 July 2012 - 07:51 PM

Hi

It's so hard...

I know Each device is different and each hardware is different...

But !!!

In general, many many many object drawing well is best ?

I want to know, how many object(Dwarf.x) enough ?

So many ?

In Caps, I was found "MaxPrimitiveCount".

I want to know, Object drawing number and "MaxPrimitiveCount".

And Please introduce associated with book or site...

English is soooooooooooo hard... T.T

Sponsor:

#2 Hodgman   Moderators   -  Reputation: 30385

Like
1Likes
Like

Posted 15 July 2012 - 09:08 PM

Maybe this is what you're looking for?
http://ce.u-sys.org/Veranstaltungen/Interaktive%20Computergraphik%20(Stamminger)/papers/BatchBatchBatch.pdf

#3 AquaMacker   Members   -  Reputation: 255

Like
0Likes
Like

Posted 15 July 2012 - 10:06 PM

Opooos....

But It's very useful infomation.

I download and save it.

Thanks anyway...

I want to know How many dwarf is a good engine to be drawn?

Example, MaxPrimitiveCount of my macbook is about 5,000,000.
If primitiveCount of Dwarf is 100,000 then max of dwarf is 50.

And
I'm testing with 50 dwarf.
And add dwarf...
And add dwarf...
And add dwarf...
And add dwarf...
And add dwarf...

How many dwarf is a good engine to be drawn?

English is too difficult !
I HOPE more people would learn to speak Korean. ^^a

#4 Krohm   Crossbones+   -  Reputation: 3119

Like
1Likes
Like

Posted 16 July 2012 - 01:20 AM

It does not go that way. MaxPrimitiveCount is a limit on how many primitives/vertices you can use in a single draw call. There's no upper bound on how much draws you can issue. And there's no relationship with actual performance.

#5 AquaMacker   Members   -  Reputation: 255

Like
1Likes
Like

Posted 16 July 2012 - 05:15 AM

Thank you very much.


Really ^^a

And...
What does "a single draw call" Is meaning ?

One Draw ? Like this...


BeginScene()
DrawIndexedPrimitive().. <-- One call ?
EndScene()


Is Right ?


BeginScene()
AObject->DrawIndexedPrimitive()
BObject->DrawIndexedPrimitive()
CObject->DrawIndexedPrimitive()
DObject->DrawIndexedPrimitive()
EObject->DrawIndexedPrimitive()
EndScene()


Is Not ?


Is "a single draw call" is "One call" right ?

Edited by AquaMacker, 16 July 2012 - 05:18 AM.


#6 eppo   Crossbones+   -  Reputation: 2459

Like
1Likes
Like

Posted 16 July 2012 - 06:18 AM

This is what you can do:

BeginScene()

//multiple calls:
AObject->DrawIndexedPrimitive() //is one call, max 5,000,000 primitives
BObject->DrawIndexedPrimitive() //is one call, max 5,000,000 primitives
CObject->DrawIndexedPrimitive() //is one call, max 5,000,000 primitives
DObject->DrawIndexedPrimitive() //is one call, max 5,000,000 primitives
EObject->DrawIndexedPrimitive() //is one call, max 5,000,000 primitives
FObject...
GObject...

EndScene()

#7 L. Spiro   Crossbones+   -  Reputation: 13595

Like
1Likes
Like

Posted 16 July 2012 - 07:39 AM

I only just started to learn Korean. 안녕하세요.
If you speak Japanese (or Thai) then maybe I could explain it better.


1 draw call = 1 call to DrawIndexedPrimitive().
You should only call BeginScene() and EndScene() 1 time each frame, with any number of calls to DrawIndexedPrimitive() between them.

MaxPrimitiveCount = max vertices in a vertex buffer. Nothing more.

So you can call DrawIndexedPrimitive() with 5,000,000 vertices, then again, and again, and now you have drawn 15,000,000 vertices.


If you are thinking about performance, then you should study “instancing”.
By using instancing, you can draw 15,000,000 vertices by 1 draw call.

In either case, you are not limited to only 50 dwarfs.


L. Spiro
It is amazing how often people try to be unique, and yet they are always trying to make others be like them. - L. Spiro 2011
I spent most of my life learning the courage it takes to go out and get what I want. Now that I have it, I am not sure exactly what it is that I want. - L. Spiro 2013
I went to my local Subway once to find some guy yelling at the staff. When someone finally came to take my order and asked, “May I help you?”, I replied, “Yeah, I’ll have one asshole to go.”
L. Spiro Engine: http://lspiroengine.com
L. Spiro Engine Forums: http://lspiroengine.com/forums

#8 AquaMacker   Members   -  Reputation: 255

Like
1Likes
Like

Posted 16 July 2012 - 06:02 PM

@eppo, @L.Spiro

Thanks very much X 2

Instancing is best tech ^^a

Edited by AquaMacker, 16 July 2012 - 09:55 PM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS