GRADD software simulation enforcement filter r0.0.2

Copyright 2000 Takayuki 'January June' Suwa / Beliefia Productions.


0. Table of Contents



1. Welcome

SENFORCE.dll is a small filter GRADD driver that can intercept GHI(Graphics Hardware Interface) primitive commands to enforce performing software simulation.
To my regret, there are some GRADD implementations those performances are relatively poorer than SOFTDRAW, default software simulation library (especially memory-to-screen BitBlt). SENFORCE redirects such slower GHI commands to SOFTDRAW as your need, improves GRADD-based graphics performance in result.

1.1. Copyright and Disclaimer

  1. 'THIS SOFTWARE (SENFORCE.DLL AND SENFCONF.EXE) AND WHOLE SET OF DOCUMENTS' (CALLED 'THE PRODUCT') ARE ENTIRELY COPYRIGHTED BY TAKAYUKI 'JANUARY JUNE' SUWA/BELIEFIA PRODUCTIONS, AUTHOR/HOLDER OF THE PRODUCT.
  2. THE PRODUCT IS STILL UNDER DEVELOPMENT AT THE DISTRIBUTION AND MAY BE OCCURED ANY MODIFICATION/DELETION OF APPEARANCE/FUNCTION OR TERMINATION OF DEVELOPMENT/SERVICE IN FUTURE WITHOUT NOTICE.
  3. THE PRODUCT IS PROVIDED 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  4. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DAMAGES, WHETHER IN CONTRACT OR TORT (INCLUDED NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE PRODUCT, EVEN THOUGH SUCH HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF ANY DAMAGE.
We are regarded you agree disclaimer above at first installation of SENFORCE.dll. If you disagree above, you must discard all files of the product.

1.2. System Requirements

This software will be functioned in environment such as:

1.3. Contact Author

Email to Takayuki 'January June' Suwa:

1.4. Revision History



2. How to Use


2.1. Driver Installation

  1. Unzip archive to where you desire. (e.g. C:\SENFORCE)
  2. Copy SENFORCE.dll to where LIBPATH reaches. (e.g. C:\OS2\DLL)
  3. Find similar
    SET C1=GRADD1,GRADD2,GRADD3
    line from your CONFIG.SYS and append SENFORCE to it.
    SET C1=GRADD1,GRADD2,GRADD3,SENFORCE
  4. Restart your system.
  5. Check GRADD.LOG on \OS2\INSTALL directory of boot drive. If installation successfully, you will see such as:
    yyyymmddThhmmss VMAN:ProcessGraddList(): Module GRADD1 loaded successfully
    yyyymmddThhmmss VMAN:ProcessGraddList(): Module GRADD2 loaded successfully
    yyyymmddThhmmss VMAN:ProcessGraddList(): Module GRADD3 loaded successfully
    yyyymmddThhmmss VMAN:ProcessGraddList(): Module SENFORCE loaded successfully

2.2. How to Configure SENFORCE Filtering Behavior

  1. First, measure graphics performance by appropriate/preferred benchmark tools and record it. Sysbench is recommended :)
  2. Run SENFCONF.exe with "query" string from OS/2 command prompt. You will see such as:
    [C:\SENFORCE]SENFCONF query
     
    SENFCONF.exe  SENFORCE.DLL configuration utility  r0.0.2
    Copyright 2000 Takayuki 'January June' Suwa / Beliefia Productions.
     
    Current informations of SENFORCE.DLL:
      (software simulation enforcement filters/counters)
        screen to screen BitBlt operations : Disabled, 0 operations filtered
        screen to memory BitBlt operations : Disabled, 0 operations filtered
        memory to screen BitBlt operations : Disabled, 0 operations filtered
        solid/pattern Fill operations      : Disabled, 0 operations filtered
        Line operations                    : Disabled, 0 operations filtered
      (unfiltered operation counters)
        processed by video hardware        : xxxxxx operations
        processed by software emulation    : xxxxxx operations
    At this time, all filters are disabled and no performance are changed.
  3. Now you can change GHI primitive filter state using some SENFCONF commands such as:
    s2sbb_on / s2sbb_off
    Enable / disable "screen to screen BitBlt operations" filter
    s2mbb_on / s2mbb_off
    Enable / disable "screen to memory BitBlt operations" filter
    m2sbb_on / m2sbb_off
    Enable / disable "memory to screen BitBlt operations" filter
    spf_on / spf_off
    Enable / disable "solid/pattern Fill operations" filter
    l_on / l_off
    Enable / disable "Line operations" filter
    all_on / all_off
    Enable / disable all filters
    All SENFCONF commands are lowercase and case sensitive.
  4. OK, let's change some filter states and re-measure graphics performance. For your convenience, corresponding table of Sysbench notations and SENFORCE filters:
    Sysbench notationSENFORCE filter
    BitBlt S->S copy"screen to screen BitBlt operations"
    BitBlt M->S copy"memory to screen BitBlt operations"
    Filled Rectangle"solid/pattern Fill operations"
    Pattern Fill
    Vertical Lines"Line operations"
    Horizontal Lines
    Diagonal Lines


3. Troubleshooting

  1. Q. No positive performance changes on my machine...
    A. Congratulations! Your machine had been reached to the terminal velocity :)


4. Credits

Development
Programming
Takayuki 'January June' Suwa / Beliefia Productions
Documentation
Takayuki 'January June' Suwa / Beliefia Productions
Special thanks to
Masaharu 'Densuke' Nagata
He allowed me to replicate WARP4 Developer's Toolkit UNDER LEGAL LICENSE. Thanks a lot.


Copyright 2000 Takayuki 'January June' Suwa / Beliefia Productions. All rights reserved.
Copyrighted works(images, musics, programs, and so on), trademarks and servicemarks in this document are owned by their respective owners.

[This document is HTML3.2(Wilbur)-compliant.]