Direct3D8 and Intel 82845G

Started by
2 comments, last by TheOther 18 years ago
Hi everyone, Just having some weirdness show up in my small game using Direct3D8.1 It runs fine on my other testing video cards, but I run into extreme slowness with the Intel 82845G family of video "cards". My FPS counter is above the 100 mark, but animation is unbearably slow. I'm creating the HAL device using sofware vertex processing if that helps any. Not using pixel or vertex shaders, just straight FFP geometry. Is there something else I need to specify when creating the device to properly run with this card? thanks!
Advertisement
Quote:My FPS counter is above the 100 mark, but animation is unbearably slow
So, just to make sure I follow correctly, on the Intel chipset you're over 100fps but the animation is running in slow-motion? Are you doing software skinning/animation?

I'm not entirely sure about your particular chipset, but my understanding of the Intel family is that they don't have a dedicated TnL pipe - they just use a highly optimized path running on the main CPU. Thus if you have other CPU-based algorithms they will now be competing with the graphics rendering, whereas on other configurations they can (for the most part) run in parallel.

Another possibility is that you've configured a render-state (or similar) that is being emulated by the "hardware" and thus hurting your performance. You should already, but you might want to double-check that the host adapter has all the features your application is using.

Ideally some further profiling would be a good idea - try and isolate exactly which part is running slow(er).

hth
Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Usually, the laptop onboard graphics cards do not have a vertex pipeline at all. What this means is that in order to run, vertex transformations need to be calculated on the CPU. This obviously hinders performance, and these cards are usually not that great doing other stuff.

I'd consider the possibility that the application might be running very slow, and that the FPS counter is off. Another alternative is that the application doesn't use the actual time to calculate movement, but rather uses the frames as an index for time. This means that the faster the machine running the application, the faster animations move.

Lastly, I'd recommend you check your application allows the creation of a Mixed Processing device, if a pure hardware one is not available. Failing to use that option would result in a purely software device, even though some form of a graphics device.

Hope this helps.
[edit] Second time you've beat me to the punch today [lol]
Sirob Yes.» - status: Work-O-Rama.
thanks guys for the thoughts...

No, I'm not using any skinning/animation at all...I'm just talking about updating a quad sprite across the screen. That's it. (not even the ID3DXSprite object, I'm just talking about two triangles here).

I went back and ran the SDK samples and interestingly enough I get the same behaviour. Even the "billboard" sample prompts me that it is going to use the reference drivers..blech.

On another curious/wacky note, the chipset DOES seem to support OpenGL acceleration...the samples I tried ran flawlessly. *boggle*

I always thought it was the other way around..where OpenGL hardware support was a bit "spotty" with the older hardware, but Direct3D performed better. *shrug*

Anyways, I'll also check out the archives of the directx disscusion group..maybe there's been some posts there dealing with this.

(oh and btw. I tried out mixed vertex processing as suggested and the device wouldn't even create..it only seems to work with software vertex processing specified).

thanks again guys!

This topic is closed to new replies.

Advertisement