the ref device is meant to provide two things:
ability to prototype with new features ahead of hw.
ability to test for driver bugs.
the ref provides a full-featured implementation and often provides the first
implementation, ahead of hw. this means you can use it to prototype before
hw arrives, and thus can experiment with new api features ahead of hw. being
that many features in d3d are ahead of the hw, this is an important
capability. this meant folk could play with pixel shaders ahead of pixel
shader hw ( remember the runtime includes very good sw vertex shaders with
processor specific code written by AMD and Intel ) and make progress in
understanding the capabilities of DX 8.x and how to use it. the ref device
is not optimized though. its purpose is completeness not performance.
the ref, by providing a full-featured implementation, can be used as a
comparison point when one suspects a driver bug. if the hw/driver
implementation behavior or rendering result differs from the ref, it is
usually a hw/driver bug. this can save invaluable time in convincing folk
that something is a bug, and now that the ref has been around for a few
releases, the IHV community is used to having the ref as the comparison
thus ref is not meant to be used with production code, its only for
prototyping or testing.
the ref device is not installed as part of the runtime, nor does the runtime
eula give licensing priviledges.
the huge majority of machines that can execute d3d 8.x have 3d hw, so the
lack of a production sw rasterizer is not a gating factor. this has ceased
to be an issue with game publishers, eg that a game require hw acceleration,
since some time after Quake2 shipped, since Quake2 required hw acceleration.
that was a few years ago, so the installed base of machines hw acceleration
has grown such that almost no new machine ships without graphics hw. and now
the number of machines without at least i740 level graphics ( which is what
i8xx chips amount to ) is so small that it doesnt matter to most.
> billboard sample runs very fast in HAL mode .
> but in REF mode , just 0.3 FPS .
> why so slow in REF mode ?
> If we make game , then Minimum 20 FPS needed .
> so if Users have no 3D video card,
> then D3D library is useless .
> any solution to this problem ?