[comp.windows.ms] PM is Slow

il@csri.toronto.edu (Indra Laksono) (05/25/89)

The company I work for is developing a product under PM and OS/2.
On an Apricot 386 with 4 MB, the performance of programs written
for PM has been surprisingly slow.  On one example, I had to simply
display a 1024x800 bitmap into a 512x400 window.  It took four
seconds if I use GpiBitBlt, but only requires < 2 secs if I shrinked
the image into a 512x400 image first.  If I use a very rough estimate
by knocking out all even bytes and even rows, the screen update is
immediate (<1sec).  Of course, the ratio of 1/2 means I had it easy,
but GpiBitBlt could have checked for easy 'squeezing' and taken
appropriate action.

Somehow, I have the idea that many parts of PM could still be
improved to gain performance improvements of several orders of
magnitude.

Other than that, it is a reasonably nice environment to work in.

Warning though: if you think that the 64K segment problems has
gone away with 286 OS/2, think again.  Using bit arrays is at
best Kludgy.
Example::
    With DosAllocHuge, you can allocate lots of mem to a huge
    pointer, but there is not much that you can do at the high
    level with this array.  We have DosOpen, DosRead, (or fread
    at a slightly lower level), but there was NO DIRECT WAY to
    say: read a large bitmap from disk.  You have to loop through
    and do getc (char by char), this not too bad if we consider
    that the os is smart enough to keep a buffer, but is not very
    elegant.

However, I like it, despite the shortcomings.