Jump to content

does the number of pcie cards you have affect performance?

It'd make an interesting experiment. Take an older ATX computer with say, 8 pcie lanes, and load up all the slots with cards, such as network cards, wifi cards, usb cards, sound cards, etc, and see how in compares to the same computer with only a GPU. I'd love to see the results.

CPU: AMD FX 4170 @ 4.7ghz Motherboard: Asus M5A97-R2.0 RAM: 11GB DDR3-1600 GPU: Asus Geforce GTX 780ti 3GB Reference Case: Cooler Master Storm Scout Storage: 1x 250GB Seagate Barracuda 7200RPM, 1x 500GB Seagate Barracuda 7200RPM, 1x 500gb Hitachi 7200RPM  PSU: Antec Earthwatts 650W Display: Dell U2410 (1920x1200 @ 60hz, 24") Cooling: Cooler Master Hyper 212 EVO, 3x 140mm Cooler Master fan Keyboard: Lenovo OEM keyboard (membrane) Mouse: Redragon Centrophorus Sound: Sound Blaster xFi sound card & Marley Good Vibrations headphones Operating System: Windows 10 1809

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, DrAwesome821 said:

It'd make an interesting experiment. Take an older ATX computer with say, 8 pcie lanes, and load up all the slots with cards, such as network cards, wifi cards, usb cards, sound cards, etc, and see how in compares to the same computer with only a GPU. I'd love to see the results.

I think back then all you had were expansion cards in regards to motherboards in the 80s and 90s.  Newer cards taking up more lanes wouldn't even be compatible on those. :P

(extreme example I know)

Maybe specifically you could look into an ATX first gen PCIe motherboard, but I'm betting you'd get bottleneck elsewhere before the lanes affect it.

Link to comment
Share on other sites

Link to post
Share on other sites

The video cards are connected directly to the CPU using dedicated pci-e lanes... the first one or two slots are connected directly to  CPU.

 

The other pci-e slots are connected to pci-e lanes created by the chipset - imagine the chipset as a network switch that creates multiple ethernet ports - each pci-e lane created by the chipset is the equivalent of an ethernet port.

 

So basically the point is that the video cards installed in the dedicated pci-e slots get a sort of "preferential treatment", the transfers between cpu and those slots have lower latency, may be a bit faster and all that.

Cards connected on the slots created by the chipset have the data routed through the chipset, there's an extra hop involved, which can affect latency.

 

Now of course, for every card you plug into the pci-e slots there will be drivers installed and running in Windows, and these drivers will constantly use a very tiny amount of processor to manage the communication between the card and the operating system.

 

For example, let's say you plug a USB 3 card which creates 2 or 4 extra usb ports.. even if there's nothing connected in those ports, the card has to periodically tell the operating system "hey operating system, I'm still nothing here and there's no new devices plugged into my ports" - this packet of data is sent by the chip on the card, goes into the chipset, chipset sends it forward to the cpu, and the operating system reads this packet and sends it to the USB driver which decodes it and tells the operating system "ok, nothing changed, keep going and ignore this packet of data"

Every time the operating system has to pass such packets of data to the driver, the driver will use an extremely small amount of processor time and computer memory.  So of course, in theory, adding this usb card in the system could take away from the video card driver this very tiny amount of processor time.

 

If you add multiple cards in the system, each driver for those cards will use an amount of processor time and memory, how much it will depend on what the cards do. If the cards do nothing, the processor usage of the drivers for those cards will be almost nothing, practically not noticeable and won't affect games.

 

If you're using those cards for something, then performance of the game may be affected - for example let's say you have a usb 3 card and you connect and external hard drive to the card and you start copying files from external drives to sata hard drive inside your computer. Even though data may never go to the processor (because it goes directly external hdd - usb card - chipset - sata controller - internal hdd)  the usb driver and the sata controller driver will still have to be called by the operating system to manage this transfer... think of it like operating system receiving messages from usb driver which says "i read this much data from external drive and put it in memory here, tell the sata driver to store it somewhere" and os saying "hey sata, write this data to internal hard drive" and then sata controller saying " ok, data is written to disk, ready for more"  ... all these interruptions use a bit of tiny processor time, which may be pulled away from the game process or the video card driver, slowing game down.

Hope that answers your question ...

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, mariushm said:

The video cards are connected directly to the CPU using dedicated pci-e lanes... the first one or two slots are connected directly to  CPU.

 

The other pci-e slots are connected to pci-e lanes created by the chipset - imagine the chipset as a network switch that creates multiple ethernet ports - each pci-e lane created by the chipset is the equivalent of an ethernet port.

 

So basically the point is that the video cards installed in the dedicated pci-e slots get a sort of "preferential treatment", the transfers between cpu and those slots have lower latency, may be a bit faster and all that.

Cards connected on the slots created by the chipset have the data routed through the chipset, there's an extra hop involved, which can affect latency.

 

Now of course, for every card you plug into the pci-e slots there will be drivers installed and running in Windows, and these drivers will constantly use a very tiny amount of processor to manage the communication between the card and the operating system.

 

For example, let's say you plug a USB 3 card which creates 2 or 4 extra usb ports.. even if there's nothing connected in those ports, the card has to periodically tell the operating system "hey operating system, I'm still nothing here and there's no new devices plugged into my ports" - this packet of data is sent by the chip on the card, goes into the chipset, chipset sends it forward to the cpu, and the operating system reads this packet and sends it to the USB driver which decodes it and tells the operating system "ok, nothing changed, keep going and ignore this packet of data"

Every time the operating system has to pass such packets of data to the driver, the driver will use an extremely small amount of processor time and computer memory.  So of course, in theory, adding this usb card in the system could take away from the video card driver this very tiny amount of processor time.

 

If you add multiple cards in the system, each driver for those cards will use an amount of processor time and memory, how much it will depend on what the cards do. If the cards do nothing, the processor usage of the drivers for those cards will be almost nothing, practically not noticeable and won't affect games.

 

If you're using those cards for something, then performance of the game may be affected - for example let's say you have a usb 3 card and you connect and external hard drive to the card and you start copying files from external drives to sata hard drive inside your computer. Even though data may never go to the processor (because it goes directly external hdd - usb card - chipset - sata controller - internal hdd)  the usb driver and the sata controller driver will still have to be called by the operating system to manage this transfer... think of it like operating system receiving messages from usb driver which says "i read this much data from external drive and put it in memory here, tell the sata driver to store it somewhere" and os saying "hey sata, write this data to internal hard drive" and then sata controller saying " ok, data is written to disk, ready for more"  ... all these interruptions use a bit of tiny processor time, which may be pulled away from the game process or the video card driver, slowing game down.

Hope that answers your question ...

Yeah what I'd like to see is hitting the point where it does cause a noticeable difference.

CPU: AMD FX 4170 @ 4.7ghz Motherboard: Asus M5A97-R2.0 RAM: 11GB DDR3-1600 GPU: Asus Geforce GTX 780ti 3GB Reference Case: Cooler Master Storm Scout Storage: 1x 250GB Seagate Barracuda 7200RPM, 1x 500GB Seagate Barracuda 7200RPM, 1x 500gb Hitachi 7200RPM  PSU: Antec Earthwatts 650W Display: Dell U2410 (1920x1200 @ 60hz, 24") Cooling: Cooler Master Hyper 212 EVO, 3x 140mm Cooler Master fan Keyboard: Lenovo OEM keyboard (membrane) Mouse: Redragon Centrophorus Sound: Sound Blaster xFi sound card & Marley Good Vibrations headphones Operating System: Windows 10 1809

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×