|
|
Intel BlogsWhitepapers
|
Maximum FPS: fast AGP writes for dynamic vertex data Learn Game Programming using Fast AGP : The performance implications of partial writes to write combining memory can be significant. Learn how to avoid the problems just by moving a little extra data, which is pretty counterintuitive. The same techniques apply to other resources allocated in AGP memory. If you're modifying textures regularly and seem to be touching data a few bytes at a time, then maximizing your use of the write combining buffers could improve your performance considerably. Read this edition of the game developer's maximum performance column, Maximum FPS.
by Dean Macri, Solutions Enabling Group, Intel Corp. Welcome to the first installment of the game developer's maximum performance column! Once a month we'll be delivering concise information to help you achieve peak performance (and frame rates) in games you develop for Intel® architectures. In this premiere column we'll examine some peculiarities of AGP memory and show how you can reduce bus transactions in your 3D games to achieve speedups of 20% or more in some cases. In the coming months, we're going to provide a gamut of topics with exciting information like an introduction to game development for Intel StrongARM and Intel XScale™ processors. We want this column to meet your needs as game developers, so drop us a line if you have suggestions for topics you'd like to see us address. Now let's peel back the fancy layers of high-level 3D API's and see what's really happening between the processor, the graphics card, and this mysterious beast known as AGP memory. ![]() Figure 1. PC Architecture with AGP 4x support
AGP history In addition to the high transfer speed, requests on the AGP bus can be pipelined whereas the PCI bus only supports sequential transfers with a special case for bursting. Figure 2 shows the benefit of pipelined accesses provided by the AGP specification. The PCI bus requires the data, D1, to arrive from the request of memory from address A1 before it can submit a request for memory from address A2. In a more efficient manner, the AGP bus can accept requests for memory from addresses, A2 through An while waiting for data item D1 to arrive. In this fashion, data items D2 through Dn arrive much sooner than in a non-pipelined scheme like that provided by the PCI bus. Something we'll talk about later is a burst operation that both the AGP and the PCI buses support. In a burst operation, a small number of data items (4 to 8) can be sent across the bus with a single memory address request. ![]()
Subscribers who liked this article also read:
If you're interested in this topic, these articles may be helpful:
Related Jobs: |
|
|