Browse Prior Art Database

Time-Lapse Controlled Bitmap Display of Complex Graphical Data

IP.com Disclosure Number: IPCOM000112652D
Original Publication Date: 1994-Jun-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 4 page(s) / 127K

Publishing Venue

IBM

Related People

Alderson, S: AUTHOR [+4]

Abstract

Described is a method of displaying a complex graphic image on a Personal Computer (PC) in a windows-based application. A bitmap image is built in store and called to display it as required for redraws avoiding repeated creations from scratch. While an application is initially drawing an image into the memory bitmap, it stops at regular intervals and BitBlts the partially updated image to the display to ensure that a user gets some feedback.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 37% of the total text.

Time-Lapse Controlled Bitmap Display of Complex Graphical Data

      Described is a method of displaying a complex graphic image on
a Personal Computer (PC) in a windows-based application.  A bitmap
image is built in store and called to display it as required for
redraws avoiding repeated creations from scratch.  While an
application is initially drawing an image into the memory bitmap, it
stops at regular intervals and BitBlts the partially updated image to
the display to ensure that a user gets some feedback.

      Displaying of a complex graphics picture, even on a powerful PC
can take a long time.  With windowed-based solutions on PCs this
becomes worse as messy desking can cause unwanted redraw of the
picture quite regularly, as the picture is temporarily obscured by
other windows.  Popular applications, such as CorelDraw* suffer from
this problem.  One solution on windows-based operating systems (e.g.,
OS/2** and Microsoft Windows**)) is to draw (play) the picture data
into a Memory Bitmap then BitBlt the memory bitmap to the display.
When redraw is required, the application merely has to BitBlt the
memory bitmap to the window again.  This is a quick operation
compared with having to redraw the picture from 'scratch'.  A
disadvantage is that the user gets no feedback while the picture is
being initially drawn into the Memory Bitmap.  Using the 'Time-Lapse
Controlled Bitmap' display technique, this delay in feedback can be
overcome.  While the application is playing the picture into the
memory bitmap it stops at regular time intervals and BitBlts the
picture-so-far onto the window.  This removes the disadvantage of
lack of feedback and the user gains from having instantaneous updates
to the picture if re-draw is required.  The method of interrupting
the drawing mechanism will depend on:

1.  Operating system type, e.g.:

    o   Pre-emptive multitasking, multithreaded (OS/2)

    o   Pseudo multitasking, though effectively singlethreaded
        (Microsoft Windows).

2.  Graphical Data structures e.g.:

    o   Segmented Graphics (Most OS/2 applications)

    o   Non-Segmented Graphics (Windows applications and some OS/2
        applications).  These tend to require some Application-
        Internal Object Definition.

      For an OS/2 application where the graphics are being drawn in a
separate thread one could use the following technique:

Main Thread                        Graphics Thread
   Start Timer
                                      Start Loop drawing
                                      individual segments
                                      into the memory bitmap
                                      Draw Seg 1, OK
                                      ...