Forum: Poser - OFFICIAL


Subject: MS Vista will not fully support OpenGl in Poser or any 3-D application.

alamanos opened this issue on Jan 29, 2007 · 127 posts


kawecki posted Thu, 01 February 2007 at 4:40 AM

Quote - The similarity is that when 16-bit went 32-bit, 16-bit addressing support was retained just as when 32-bit has gone 64-bit, 32-bit addressing has been retained.

The meaning of instructions in 16 bit and 32 bit is not the same, for running a 16 bit application in a 32 bit machine you have to switch the CPU to the protected mode (16 bit).
You can still run 16 bit apps in 64 bit machines switching to the protected mode.

The meaning of instructions in 32 bit and 64 bit is the same, you can run a 32 bit application in a 64 bit machine in 64 bit mode without any need to changing the CPU mode.
There are only some few exception for codes written in an unusual way (manipulation of SS, ES, DS segment registors) that need the CPU to be switched to the 32 bit mode.

Quote - Just like the old switchover, 32-bit apps could not be run on old 16-bit computers.  Same for 64-bit apps.  You can't run a 64-bit app on 32-bit hardware.  When software is compiled for 64-bit memory addressing, I want to hear about you running it on your 32-bit computer - yeah...okay....

32 bit applications don't run in a 16 bit machines, with 80386 were added a lot of new instructions to the old 16 bit CPUs, this new instructions don't exist in 16 bit.
Many 64 bit application can run in 32 bit machines, the instructions are the same, but if the 64 bit application use some newer instructions of CPU64 then the app will not run in 32 bit machines.
All will depend how you write the code, you can write a code that will work in any 32 or 64 bit machine at its full performance.

The difference between 32 and 64 bit CPU is very small, mainly the difference is that the addressing was extended from 32 bit to 64 bit. The high order 32 bits are considered zero unless overrided by a prefix instruction (new) or explicited by a new instruction.
As the 32 bit code haven't this new instructions the 64 bit CPU treats the higher 32 bit of the address as zero so it run without any problem in the lower 4 GB of memory.
If a 64 bit code doesn't use the new instructions  then the higher 32 bits of the address is always zero and will run without any problem in 32 bit machines.

Stupidity also evolves!