How to implement deltaTime with blender's physics engine?
I was not able to come up with a solution (yet), but I'd like to share some progress I made. Maybe framerate-independent realtime physics is not possible, but let's keep the mindset "There is a way, we just haven't found it yet" for now.

Testcase

blackhole mentioned, that it's extremely difficult to test whether Blenders Bullet Physics run in RealTime or not. So I looked for a simple real-world example which could serve as a reference for comparing an expectation vs. what Blender is doing. I have choosen a simple free-falling cube, which is placed at a height above an object so that it should hit the ground after exactly 2 seconds (no friction, air resistance or other fancy stuff). 

Here's the setup (*blend below):



When pressing "SPACE", you can observe the framerate dropping - I put some sleep in a Python controller.

Parameters of Interest

The first four of the following list are new since 2.77 as far as I know.


bge.logic.getClockTime()
bge.logic.getFrameTime()
bge.logic.getRealTime()
bge.logic.getTimeScale()
Objects "Timer" properties
Render -> System -> "use Frame rate" Checkbox
World -> Phsyics -> "FPS" value 


There are several versions of Time available, which I personally find confusing. I used getRealTime (system clock) to measure the time of collision of the falling cube.

Observations

Some of them are obvious to more experienced BGE users (than me), but I'd like to write them down nevertheless. The time of collision


was at least one frame delayed. (2.016 seconds at 60 FPS)
went down (=cube fell faster) by a factor of 2 in case I put 30 FPS in physics and uncecked "Use Frame Rate" - the simulation was running at 60 FPS then.
went up once I added some expensive logic which let the framerate go down (sleep, triggered by SPACE)
varied with the "margin" setting in the objects collision bounds settings.


Whatever I tried so far, I did not find a solution which let the cube hit the ground after 2 seconds when I let the framerate drop by the sleeps. In case frame-independent realtime physics are possible in Blender, there should be a way of making that happen. The new setUseExternalClock and setClockTime might be an option. Maybe my *.blend helps along the way.