Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


L. Spiro

Member Since 29 Oct 2003
Online Last Active Today, 07:38 PM

Posts I've Made

In Topic: SSE denormals

Today, 07:29 PM

please stop trying to make it look like a bunch of people regularly have to beat me for [using CPU usage as a measuring device].

http://www.gamedev.net/topic/668500-win32-cpu-render-bottleneck/#entry5229728
http://www.gamedev.net/topic/668500-win32-cpu-render-bottleneck/#entry5229751

So I will keep this short and future-applicable.
As Hodgman said, CPU usage is basically irrelevant. Performance is measured in time, which means doing as he said and timing how long things take.


Even in your reply you mention nothing about actual timing.  What you describe sounds as though it is nothing but your feeling.
 
So I asked you a very specific question.  How do you know what changes in performance you are getting?  It should be very simple to say, “I timed it using QueryPerformanceCounter(),” if that is what you did.  Instead, once again, you ranted about nonsense, cluttered up your own topic, threw around accusations, and ultimately I still don’t even have an answer.  How do you know if it is faster?  How hard can it be to answer that?  Did you time it or did you feel it?
Why can’t you give specifics and just answer the question?
 

also, i'm not really sure what field of expertise you have,

Primarily video games.
 

but in audio dsp, generally "faster" means a routine is using *less* cpu resources, and "slower" means it is using more.

There is no direct correlation between CPU usage and overall performance.

When the operating system decides that a thread or process needs more resources (based on priority levels, how often it returns control back to the operating system (for example waiting for a Windows message), accesses disk, etc.) it will give it more (and longer) time slices (which increases CPU usage), which means it has more time to run, which means its performance increases.

When your application’s CPU usage is low, it means most of the CPU power is spent on other processes or just idling, which generally implies your process is not performaning at full potential.

If your process does the exact same task at 8% vs at 92%, the 92% version will finish much faster (and you could call this “high performance”).

 

 

Since it also depends on many variables, including process priority, thread affinities, thread priorities, disk access, OS returns, waits, sleeps, yields, etc., it is a very very poor way to measure the “performance” of an application.

It’s only practical use is to let you know you are draining the battery of a laptop faster or to know if you are taking resources from other processes, which may not be desirable for applications related to audio (until the final export), but that isn’t called “performance”, that is just called a “resource hog”.

 

 

 


i don't think it should be necessary to dredge up my past in all of my posts, but unless i do it, how are you able to understand that i may be a "bigger person" than you are giving me credit for?

I don’t need to understand your social standing, I need to know what you want to ask and any relevant details that would help me provide an answer.

 

 

L. Spiro


In Topic: SSE denormals

Today, 06:46 PM

Stupid iPhone auto-correct…

 

 

L. Spiro


In Topic: SSE denormals

Today, 06:03 PM

How do you know it did not affect performance? Although we have told you several times not to, you seem to keep using CPU usage as a measuring tool.
If your CPU usage is low then your project is not running as fast as it could. In a very simplistic sense, more CPU usage means better performance (or the same performance), but just forget about it and measure properly.

I don't know anything about Borland but I see no reason why denormalized numbers would be a problem.

If you asked anything else, I skipped copious amounts of your post because instead of just asking the question you went off on 10 tangents.

Next time just ask. You can look at almost any other post on the site for an example of a question that was asked directly and without an autobiography.


L. Spiro

 

[EDIT]

When I got to a computer the post did not seem as long as it did when I was on my phone (from where I posted).

I take back some of my criticism regarding its length, but not all.  There still needs to be a lack of miscellaneous information in your posts.

[/EDIT]


In Topic: HLSL and 4x3 mul

22 May 2015 - 08:17 PM

The objects can be scaled, yes. So inverse(transpose(worldView)) before sending the matrix to the shader? Why does this only apply to directions and not positions?

The inverse-transpose matrix corrects faulty rotations that can occur due to scaling.
Positions are not rotated, they are positioned. It’s literally a point in space, and nothing else. It has no other properties besides being a 3-coordinate position. A “direction” is a separate type of property. When non-uniform scaling is involved the direction, if translated the same way as points, will be skewed too far in some direction. This is correct for a point, as the scaling influence should do exactly that to any positional data in the vertex buffer, but if the same thing were applied to directions then the normals would point too far in the skewed direction.

Think about scaling a ball by Y = 2.0f. The points should be spread twice as far up and down, but the resulting surface should not generate normals that also point twice as far up and down as they did. In fact the normals would point more outwards than they did, as the surface of the ball now has a steeper gradient vertically.


L. Spiro

In Topic: Communication between objects and systems in Game engines.

22 May 2015 - 12:54 PM

So for sounds, does the Physics system have a pointer (passed from higher up) to the sound-playing class, and would the physics engine then be responsible for mixing and playing the correct collision sounds based on their velocities, angle of collision, and materials?

There are 2 approaches:
#1: Custom collision handlers. Callbacks called when objects collide.
#2: The return information written to the object’s in/out structure can be examined after collision is done being processed.

The physics engine should never know about sound directly, but either of these approaches would allow sounds to be played for collisions between objects of various materials, both continuous (a rolling ball or sliding box) and immediate (a bat hitting a ball or a car hitting a mugger).


L. Spiro

PARTNERS