To make a compiled binary run at its own speed flawlessly without recompiling from a source in another system?

I know that many people, at a glance at the question, can immediately shout "Java", but no, I know the qualities of Java. Let me ask my question first.

Usually, when we want our program to run at its own speed in the system, whether it be Windows, Mac OS X or Linux, we need to compile the source code. If you want to run the program of another system on your system, you need to use a virtual machine or an emulator. Although these tools allow you to use the program you need on a non-native OS, they sometimes have performance problems and crashes.

We also have a new compiler called "JIT Compiler", where the compiler will parse the bytecode program in the machine’s native language before executing. Performance can increase dramatically with the JIT Compiler, but performance is still not the same as running it on your own system.

Another Linux program, WINE, is also a good tool to run a Windows program on a Linux system. I tried to run Team Fortress 2 on it and tried to experiment with some settings. I got ~ 40 frames per second on Windows in my middle position at 1280 x 1024. On Linux, I need to lower everything by 1280 x 1024 to get ~ 40 frames per second. There are 2 noteworthy things though:

  • The parameters of the Polygon model do not seem to affect the frame rate, whether I set it to low or high.
  • When there are post-processing effects or some special effects that require manipulating the drawn pixels of the current frame, the frame rate drops to 10-20 frames per second.

From now on, I see that the normal rendering of polygons is just fine, but when it comes to newer rendering methods that require a graphics card to work, it slows down to a crawl.

, . -, ? , WINE STEAM Team Fortress 2. , . , , : " ?" , AOT-, - ? ( DirectX ), , ?

+3
2

. Intel, ARM, MIPS, PowerPC .., .

Ok. , , ( ) . .

, - , "", , - . . . / . -. .

, , , . - , , ( , ). , , , - .

MSDOS.com , , 1981 , CP/M .

MSDOS . , -, , . , , , .

, , "" . , , . , , /, , / . / .

, - , WINE.

, , WINE, , - WINE Win32 GDI , (Linux → XWindows), , ( ), WINE , .

, IDE-, USB- BIOS, , , API- , . / IDE, VESA BIOS. , , .

( ) .

, - .; >

+6

, , , , . .

" ". , , , , , , , . " ", .

, . . , , - , , float. - . A char - . - .

, , , . , , , .

: Digital Equipment Corporation FX! 32, Win32 Intel x86, Alpha AXP Windows NT AXP. , , , 32 , 64 , . , , . - Intel x86, AXP, , , Intel. (FX! 32 AXP Intel , , )

, , AXP, FX! 32 , AXP. AXP FX! 32 Intel x86, () .

/ , , .

+4

Source: https://habr.com/ru/post/1784346/


All Articles