4 ms·
This is why I drifted towards game development for most of my career. Consoles, until the penultimate (antipenultimate?) generation, ran software bare or nearly
by dleslie 4y ago
This is why I drifted towards game development for most of my career. Consoles, until the penultimate (antipenultimate?) generation, ran software bare or nearly bare on the host machine.
I also spent time in integrate display controller development and such; it was all very similar.
Nowadays it feels like everything rides on top some ugly and opaque stack.
- dijit 4y agoFor context of what this guy is saying: the modern Xbox's (after 360) are actually running VMs for each game. This is part of why despite the hardware being technically (marginally) superior: Xbox tends to have lower graphical fidelity.
- p1necone 4y agoLower graphical fidelity than what? PlayStation?
- dijit 4y ago> Marginally superior to what? PlayStation? Precisely Both the original Xbox One and the Xbox One S have a custom, 1.75GHz AMD 8-core CPU, while the Xbox One X bumps that up to a 2.3GHz 8-core chip. The base PS4 CPU remained clocked at 1.6GHz and contains a similar custom AMD 8-core CPU with x86-based architecture, while the PS4 Pro bumps that clock speed up to 2.13GHz. EDIT: you’ve edited your comment, but also yes.
- p1necone 4y agoThe CPU isn't particularly relevant is it (although the CPUs in the PS4/XBone generation were exceptionally terrible compared to what was standard on PCs at the time)? Graphical fidelity is going to depend much more on the GPU (although the CPU is going to bottleneck framerate if it's not powerful enough). In the current generation the Series X has a more powerful GPU than the PS5, which tends to mean a lot of games run at higher resolutions on the system, although there's some games that run slightly better on PS5 (I think the Call of Duty games might be in that category?). And a lot (most?) are basically the same across both systems - probably because devs aren't bothering to tweak cross platform games separately for the two different consoles.
- ComputerGuru 4y agoThere’s no reason a pass through GPU configuration in a vm would have lower graphical fidelity.
- dijit 4y agoHello ComputerGuru, As you may understand: there's more to graphical fidelity than just the GPU itself. CPU<->GPU bandwidth (and GPU memory bandwidth) are also important. There is a small but not insignificant overhead to these things with virtualisation: VMs don't come for free.
- marshray 4y ago"Pass through GPU configuration" means that GPU memory is mapped directly into guest address space in hardware. Bandwidth from a VM partition should be identical to that from the root partition.
- dijit 4y agoI don’t understand what you’re trying to imply here. Are you seriously suggesting that I chose to downgrade the graphics on the XB1 because I felt like it, and that dozens of other AAA game studios did the same thing? Our engine was Microsoft native, by all rights it should have performed much better than PS4. If you’re going to argue you’ll have to do a lot better than that since I have many years of lived experience with these platforms.
- marshray 4y agoOK, you have a technical disagreement. No need to take it personally. You may be right - you probably have more experience with this particular thing than I do. I can't answer for the performance of the XB1, but I am curious what % reduction in GPU memory bandwidth you observed due to virtualization. Did you have a non-virtualized environment on the same hardware to use for comparison?
- 4y ago
- mywittyname 4y agoThe 360 has a Type 1 (bare metal) hypervisor. So there's not much, if any, performance impact to having it since the software runs natively on the hardware. Microsoft used a hypervisor primarily for security. They wanted to ensure that only signed code could be executed and wanted to prevent an exploit in a game from allowing the execution of unsigned code with kernel privileges on the system itself. Every ounce of performance lost to the hypervisor is money Microsoft wasted in hardware costs. So they had an incentive to make the HyperV as performant as possible.
- dijit 4y agothe 360 has no hypervisor. The CPU had an emulator that you could run on x86 Windows, but it was not itself a hypervisor. The hypervisor in the XB1 served a more important purpose: to provide developers a way of shipping the custom SDK to clients, and not forcing them to update it. This was quite important for software stability and in fact we made a few patches to MS's XB1 SDK (Durango) to optimise it for our games. VM's are VM's, there are performance trade-offs. I know this because I worked on AAA games before in this area, do you also work in games and are repeating something you think. you heard?
- mywittyname 4y agoI don't work in the industry. But just because you "worked on AA games" before doesn't make you correct. This detailed architectural overview of the 360 discusses the hypervisor: https://www.copetti.org/writings/consoles/xbox-360/ https://www.copetti.org/writings/consoles/xbox-360/ This YouTuber, who is an industry vet, and has done several xbox ports claims the XB360 has a hypervisor: https://www.youtube.com/watch?v=Vq1lxeg_gNs https://www.youtube.com/watch?v=Vq1lxeg_gNs And there entries in the CVE database for the XB360 which describe the ability to run code in "hypervisor mode": https://www.cvedetails.com/cve/CVE-2007-1221/ https://www.cvedetails.com/cve/CVE-2007-1221/ This detailed article on the above exploit goes into detail on how the memory model works on the XB360, including how main memory addressing works differently in hypervisor mode than in real mode: https://www.360-hq.com/article1435.html https://www.360-hq.com/article1435.html That's a whole lot of really smart people discussing a topic that you claim doesn't exist.