vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=187)
-   -   How Design Affects Performance : Progressive Rendering (https://vborg.vbsupport.ru/showthread.php?t=161099)

Princeton 10-24-2007 10:00 PM

How Design Affects Performance : Progressive Rendering
 
Progressive rendering is the act of displaying each object as it is downloaded.

[imgrft]https://vborg.vbsupport.ru/images/portal/success_chart.gif[/imgrft] Currently, the 2 most popular browsers are Internet Explorer and Firefox. Both support progressive rendering; but, they differ on how they render tables. (Please note, we are focusing on tables because vBulletin utilizes tables throughout it's design.)

This article is part 2 of How Design Affects Performance.

Internet Explorer 7

When Internet Explorer renders a <table>, it downloads all the objects within the table before displaying it. This is required so that Internet Explorer can render the table with the correct width for each column.
PROS
The entire table is displayed as designed.

CONS
Large tables or tables with many objects will cause a delay in loading the page.
Mozilla Firefox 2

On the other hand, Firefox renders all objects progressively regardless if it's in a table. That is to say - each object is displayed as soon as it is downloaded.
PROS
The reader has something to read as they wait for each object to download.

CONS
Each object is displayed without knowing it's position. When the table is completely loaded, all objects are moved to their respective positions.
Still confused? Below are 2 animated images that visually displays progressive rendering between the 2 major browsers: Internet Explorer and Firefox.

https://vborg.vbsupport.ru/images/po...etexplorer.gif https://vborg.vbsupport.ru/external/2007/10/3.gif
Firefox users - clear cache and refresh page to review animation once it ends.

What You Can Do To Improve Performance

Performance Tips
  1. Ensure HTML code is valid.
  2. Minimize number of nested tables.
  3. Never wrap entire body contents within a table.
  4. Move towards a CSS-based layout.
  5. Move JavaScript to the very bottom of document (right before the </body> tag). If not possible, move JavaScript to the <head> of document.
  6. Pay close attention to the size of objects and their locations?
The Key Is To Understand

By knowing each browser's strengths and weaknesses, you can build a better design. A good design will never make the reader wait.

Next Article in this 6 part series:
How Design Affects Performance : HTTP Request (coming soon)

[hr]black[/hr]Learn More about Princeton

Guest190829 10-26-2007 03:59 PM

Great article, Joe. And research has shown that response time is a critical aspect on how users judge a website (amongst other factors, but response time could be the first impression that sends your user away.)

Princeton 10-28-2007 05:09 PM

Design and structure plays a big part on success.
It's all about perception (psychological) - how the end-user "sees" your web site.

99% of the time, it's the design and structure which is at fault (for failing) - many users do not understand this.

By the time I finish this 6 part series - I will have everyone thinking differently about their choice of design and structure .. at least that's my goal. :up:

If I can help one person - than I've done my job.

ragtek 10-28-2007 05:34 PM

where is the different between
Quote:

# Move JavaScript to the very bottom of document (right before the </body> tag). If not possible, move JavaScript to the <head> of document.
and js in the body?
i moved my anayltics code into the header instead of befor </body> as they wrote and since than it looks like the site is faster

Princeton 10-28-2007 06:12 PM

a browser will download all the objects within the <head> before any objects within the <body> of a document...

a large javascript file (or multiple) will cause a delay in rendering the page (non-cached)

by placing the JavaScript files at the bottom of the page you are telling the browser to download all the objects on the page prior to downloading the JavaScript files (by placing the files at the bottom the end-user will not be affected by the delay in downloading the files)

the point here is to know the difference and to choose one or the other ..
you do not want to place JavaScript files in the middle of the <body> as it will slow the rendering of the page as the browser will have to
1)__ Stop,
2)__ Download the javascript file,
3)__ Parse/interpret javascript file,
4)__ Continue to next object

as you can imagine by placing a large javascript in the middle of the page will cause a visible delay

aeturner89 11-06-2007 06:14 PM

Quote:

Originally Posted by Danny.VBT (Post 1369173)
And research has shown that response time is a critical aspect on how users judge a website (amongst other factors, but response time could be the first impression that sends your user away.)

That's very true, When I visit a forum and the design is horrible I get turned off very quickly and I click off the site after a few minutes at most.

Zachery 11-06-2007 07:17 PM

Not using nested tables, and avoiding tables for designs would help fix alot of problems :)

Jelmertjee 11-08-2007 08:16 AM

Maybe this is not really on topic, but why is vbulletin still using tables? div's with css would be far more efficient right? Furthermore you would have a better code - content ratio and better SEO, editing will also be easier because div's are much more simple.

Zachery 11-08-2007 03:28 PM

Because the style was designed in 2003, and it won't be updated till 4.0.

helpmehost 11-09-2007 04:53 PM

please let me know what template I should use to get exactly the same background and look like this forum


All times are GMT. The time now is 06:55 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01558 seconds
  • Memory Usage 1,746KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete