FPS (frames per second), a new feature for Babelx3d worlds

1 post / 0 new
vcard
vcard's picture
FPS (frames per second), a new feature for Babelx3d worlds

Every 3D user/creator has experienced sluggish worlds and knows how low FPS can, sometimes, almost ruin the 3D experience:

"Frame rates in video games refer to the speed at which the image is refreshed (typically in frames per second, or FPS). Many underlying processes, such as collision detection and network processing, run at different or inconsistent frequencies or in different physical components of a computer. FPS affect the experience in two ways: low FPS does not give the illusion of motion effectively and affects the user's capacity to interact with the game, while FPS that vary substantially from one second to the next depending on computational load produce uneven, “choppy” movement or animation. Many games lock their frame rate at lower but more sustainable levels to give consistently smooth motion."
Source: http://en.wikipedia.org/wiki/Frame_rate

In general, the higher FPS provides the better experience. Frame rates of between 30 to 60 FPS are considered acceptable by most, though this can vary significantly from world to world, from game to game, from user to user ... since we have different pc, different processor, graphic card, drivers, network bandwidth, and everything else that affects the performance of our computer.etc.

How to improve our world FPS and reduce lag.
Lag is the colloquial name for slow reaction time when navigating. To solve it we can try buying a new PC (preferably a stand alone since laptops tend to be not as good for 3D and games) laugh
But, even a new PC can trough low framerates with some very heavy worlds (below 10 or less). So, besides buying a new machine, we should try things like simplification (of our world objects/scenes), reduce redundancy (using inlines, references and protos) and use the LOD/Switch techniques (to deactivate parts of the world that are not in the current view angle).

With a little work on it we often discover that most "heavy" worlds are unnecessarily heavy; they are only poorly built, concerning 3D performance. A FPS counter can be very useful providing key information to assess performance and stimulate performance improvement. It can (1) give a general performance measure of a specific 3D world, (2) after optimizing the world a fps counter can be used to map the different performance areas of the world and what still needs improvement, can also help (3) assessing the effect of world events (like animations) on performance and also (4) measure, by comparison,  performance techniques that had better results.

A FPS counter viewer is now easily available for worlds seen trough Babelx3d/ABNet multiuser server.

How to activate the FPS counter in babelx3d multiuser interface?
As the image explains, (1) open the tools window, (2) activate the FPS counter, (3) click the FPS icon that shows up on 3D and (4) observe the frame rate. Remember that you can activate and deactivate this tool, anytime.

babelx3dViewFPS

Construction world, on the image, is what we can consider a "big" world and is also very well built in performance terms, achieving 80-90 FPS and more on my desktop. In my Grand Prix world I get a similar 80-90 frame rate counting. In some other big worlds from the classic 2ème Monde (Paris in VRML) the counter throws more than 140-170 stable FPS.

Defy: among the vrml/x3d worlds that we can look for and connect to babelx3d/abnet server, which one has the higher and which one has the lower frame rates? Tell us what you found and share your tricks/ideas to increase FPS  cool

vcard

Edited by: vcard on 2013/01/22 - 15:00