[Prev][Next][Index][Thread]

Re: Executor & UniVBE 5.1?



>>>>> "GMangen" == GMangen  <gmangen@aol.com> writes:

    GMangen> Am I correct to assume that while UniVBE provides
    GMangen> emulation of 2.0 BIOS extensions, it gives no access at
    GMangen> all the the hardware acceleration features of the #9
    GMangen> Video card?  If this is so, would a Win32 version using
    GMangen> DirectDraw when available work with drivers that DO use
    GMangen> all the hardware acceleration available, and would this
    GMangen> in turn lead to even greater graphics performance?

VESA's VBE 2.0 standard, which is what UniVBE 5.1a implements, does
not offer any way to access hardware acceleration features.  VESA
recently came out with a new video driver standard, VBE/AF, which
allows programs to use hardware acceleration.  I have not yet seen
this standard, and a version of UniVBE that supports it has not yet
been released.  Consequently, Executor does not yet use VBE/AF and we
do no hardware accelerated graphics under DOS.

I have not seen the DirectDraw API, but it seems plausible that it
would provide access to hardware acceleration features.  If it does,
we'll use it.  Executor/svgalib already uses hardware acceleration for
solid rectangle fills, and under X11 we use X calls to fill solid
rectangles in some situations.  Adding hardware acceleration for
bitblts and scrolling wouldn't be hard.  Using hardware acceleration
for diagonal line drawing is a little tricky because we need the
screen result to be pixel-for-pixel identical with what Executor would
draw "by hand".

    GMangen> Furthermore (and I know this gets kinda murky) would the
    GMangen> lessened time Executor spends doing graphics overhead
    GMangen> lead to increased performance in other quarters of the
    GMangen> emulations, ie enhanced CPU and math throughput maybe?

It depends what Executor is doing.  During the normal CPU and math
Speedometer tests, there aren't really any graphics going on to speak
of so it wouldn't make a difference.  Using hardware acceleration to
support "refresh" mode would help performance across the board when
running in "refresh" mode.

    GMangen> Also, the docs, and the mailinglist a while ago, got on
    GMangen> the subject of the rough instruction ratio Executor
    GMangen> encounters going from 68k to x86 code.  I have seen
    GMangen> stated that it is pretty consistently 3:1 but that it was
    GMangen> hoped in going to a certain new kind of dynamic
    GMangen> compilation we could get to maybe 2:1 and I was wondering
    GMangen> if anything more is known about such lofty prospects at
    GMangen> this time.

I've been too busy working on Executor 2 related things to go back to
hacking on CPU emulation.  It's a bit of a shame; once Executor 2 is
out I should be able to adjust my priorities.

-Mat


References: