The bandwidth available as supported by your router is shared among all computers in the area using the channel your access point/router is listening on. If the router supports 150Mbps, for example, there is at most 150Mbps total available for all devices to try and claim.
This means that if you want to transfer between two devices on the same router, the best you can hope for is half of that, as one device will first send to your access point, and the access point must then re-send each packet from there to the intended device, and they have to share the available airtime. And in fact it's even worse than that, as wireless technologies don't have a mechanism for perfect time sharing. One device may try to transmit a packet while the another is still active, and force both devices to re-send for that packet. In networking terms, we say wireless cells are unswitched and half-duplex. Other non-computer interference sources can make things even worse. Also, it runs in inverse proportion to your connection speed. If a single device has a weak signal such that it can only connect at 11Mbps instead of 150Mbps, and fills up that 11Mbps with data, it's using up all the potential 150Mbps of air time.
When all is said and done, you're lucky to even get the 8Mbps on shared wireless that you're reporting. If you really care about performance, go wired or go home.
But to get the best you can out of the wireless connection you have, there are a few simple things to look for:
- Turn off 802.11b
- Set your router for the least-used channel in your area
- Use the 5Ghz band if possible
- Avoid 2.4Ghz cordless phones, microwaves and running showers
- Get closer to your access point
- Use 40Mhz wide channels if your device supports it.