Chunky by FelipeFS
It is currently Mon Feb 08, 2016 10:02 am

All times are UTC

Post new topic  Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Tue Jul 30, 2013 6:52 am 

Joined: Tue Jul 30, 2013 6:36 am
Posts: 2
I have the following questions pertaining to the use of Transform3D on a Shape3D object after
NormalGenerator has successfully been called over (or passed over as a default operation).

-For example, consider the case of rendering a flat square, like a sheet or the surface of water with some rippling,
facilitated by the careful placement of coordinate data and normal points.If one wants to introduce changes to that surface, as it exists in 3D (within a java3D programming example) as a Shape3D or OrientedShape3D object (instantiated from GeometryInfo and or IndexedGeometryArray),

-Can one introduce continuing, subsequent ripples via Transform3D objects (which concatenated to each other by default anyway) as an action after indexify() and NormalGenerator, or is one forced to re-render before Transform3D affects the set of relevant points for aggregate consideration, being the points part of said surface? Can one transform after surface fill in rendering is completed, afterwards? Is it before or after, do I have the afterwards option for Transformations.

-If this is happening over complex surfaces and solid objects continually, what kind of slow down can one begin to anticipate? Understanding more about what can happen in advance, multiple threads (Runnables) can, to an extend, be independently dispatched to simultaneously and continually use available proceessing/memory resources for subsequent surface and solid changes. Now, the instrumentation api has a sizeOf method, which in my practical experience and tests is NOT sufficient to gauge shallow and or deep object sizes in memory. I can use a Serialization technique to convert things to a byte [] and count that length, but this will duplicate those considered contexts in memory. How much will aforetime pre (re) rendering slow down a program and related, say, collision and any other operations? I can use multiple threads, but this is all complicated if I can't rely on sizeOf to gauge what is happening. Apart from Object counting, is there a better way to gauge what is going on? How bad can slowdown get, will I just have to test for it to examine when it can happen generally (number of objects), and what can I do to gauge beforehand anyway?

PostPosted: Tue Jul 30, 2013 10:59 am 
Grand Optimizer

Joined: Sun Oct 16, 2011 3:09 pm
Posts: 367
Location: Here (where else?)
Never done any 3d programming, but I did do optimization.

In my experience, you will not find the bottleneck by reasoning about what might cause performance problems.
First of all, you may not have a problem at all, so all time you spend on it is wasted. Secondly, when you do have a performance problem, you are not going to pinpoint it without measuring. Do profiling to find where a problem is. I make it a game to guess beforehand where the problem is going to be, and profiling then always shows that I am wrong.

Instead, write clean code, use good data structures, and worry about performance after you have established that you have a concrete performance problem.

My project: Messing about in FreeRCT, dev blog, and IRC #freerct at

PostPosted: Tue Jul 30, 2013 12:45 pm 

Joined: Tue Jul 30, 2013 6:36 am
Posts: 2
Are there any people who know enough about java3D though to confirm my question about post mutability transformations of a rendered (NormalGenerator) Shape3D class by a Transform3D appropriately put on the tree?

Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 3 posts ] 

All times are UTC

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited