why slow in REF mode ?

why slow in REF mode ?

Post by john » Sun, 21 Oct 2001 11:28:21



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 ?

 
 
 

why slow in REF mode ?

Post by Philip Taylor[MS » Sun, 21 Oct 2001 12:56:32


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
point.

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.


Quote:

> 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 ?


 
 
 

1. how to debug in ref mode?

    // Show the frame on the primary surface.
    g_pd3dDevice->Present( NULL, NULL, NULL, NULL );

I can only know there is an access violation, but I don't know how to fix it
after a 10-depth stack:

D3DREF8! 076a4f20()
D3DREF8! 076a8260()
D3DREF8! 076a6244()
D3DREF8! 07689b96()
D3DREF8! 076885ea()
D3DREF8! 07688cc8()
D3D8D! 07540080()
D3D8D! 0756eb80()
D3D8D! 0756231a()
D3D8D! 0758cbda()
D3D8D! 0757e98e()
CD3DApplication::Render3DEnvironment() line 1816 + 27 bytes//   this
:g_pd3dDevice->Present( NULL, NULL, NULL, NULL );
CD3DApplication::Run() line 1640 + 8 bytes
WinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, HINSTANCE__ *
0x00000000, HINSTANCE__ * 0x00000000) line 47
WinMainCRTStartup() line 198 + 54 bytes
KERNEL32! 77e97d08()

Thank you.

2. Softimage to DDR recording problem

3. Why does SoNode::copy() require a ref count?

4. Anyone purchased at Safe Harbor?

5. Is fullscreen mode slower???

6. MMORPG

7. Slow rendering of NURBS in polygon mode!

8. Using a PC version of the Matrox Millennium graphics card.

9. Why SI is slow?

10. Why is BMRT so slow ?

11. Illustrator 9 Slow Slow Slow

12. slow ppc graphic - why??

13. Infini-D 3.0--why so %$#@ slow?