Page 3 of 4 FirstFirst 1234 LastLast
Results 21 to 30 of 32

Thread: .NET (C#) and the Arma 3 Game engine

  1. #21
    C# is a major pain from a perf standpoint. Every object contains a pointer to its type. Garbage collection is mandatory for all so-called "managed" data. Last time I saw GC'able heap allocation during the render loop in MonoGame when using the VS Ultimate profiler.

    JVM is nice because it can run Scala.

  2. #22
    Quote Originally Posted by batto View Post
    False.

    *bla, blabla, blablabla*

    Wow. You really have no idea what you're talking about.

    Disassembly of a function written in C++:
    Code:
    push ebp
    mov ebp,esp
    sub esp,084h
    ;Here it clearly performs an overflow check (I've put -> at everything that has to do with the overflow check)
    -> mov eax,dword ptr ds:[0193000h]
    -> xor eax,ebp
    -> mov [ebp-4],eax
    ;<function code here>
    -> mov ecx,[ebp-4]
    -> xor ecx,ebp
    -> call 001910B8
    mov esp,ebp
    pop ebp
    ret

  3. #23
    @MulleDK19: Pasting assembler will not make your claims true. It cannot prevent heap overflow. And It's still completely different from memory management in interpreted programs.

    Quote Originally Posted by MulleDK19 View Post
    Wow. You really have no idea what you're talking about.
    No, you. Time to explain that native code & JIT non-sense.

  4. #24
    Quote Originally Posted by batto View Post
    @MulleDK19: Pasting assembler will not make your claims true. It cannot prevent heap overflow. And It's still completely different from memory management in interpreted programs.
    You're right. It has no heap overflow protection. And I never claimed so. I just said it has overflow checking. And it has. Never said which kind.


    Quote Originally Posted by batto View Post
    No, you. Time to explain that native code & JIT non-sense.
    http://stackoverflow.com/questions/3...quire-net-fram
    http://stackoverflow.com/questions/4...to-native-code
    http://www.pcreview.co.uk/forums/nat...-t1873143.html

  5. #25
    Quote Originally Posted by MulleDK19
    I just said it has overflow checking. And it has. Never said which kind.
    You said it has overflow checks. Be more specific next time please. Also it's not C++ feature.

    Quote Originally Posted by MulleDK19
    Even though it's possible to compile a C# app to native code, the app will still make calls into the .NET Framework, which will still use JIT compilation.
    I don't need to google to realize that this is non-sense but I'll quote for you most accepted answer from one of the links you posted:

    The Native Image Generator (Ngen.exe) is a tool that improves the performance of managed applications. Ngen.exe creates native images, which are files containing compiled processor-specific machine code, and installs them into the native image cache on the local computer. The runtime can use native images from the cache instead using the just-in-time (JIT) compiler to compile the original assembly.

  6. #26
    Quote Originally Posted by batto View Post
    I don't need to google to realize that this is non-sense but I'll quote for you most accepted answer from one of the links you posted:
    Wow, you're an even worse nutcase than I thought. That's the MSDN description, and it's even RIGHT THERE IN IT.
    The runtime can use native images from the cache instead (of) using the just-in-time (JIT) compiler to compile the original assembly.
    It just gets rid of the JIT compilation. The runtime is still required.

  7. #27
    Quote Originally Posted by MulleDK19 View Post
    Even though it's possible to compile a C# app to native code, the app will still make calls into the .NET Framework, which will still use JIT compilation.
    Quote Originally Posted by MSDN
    The runtime can use native images from the cache instead (of) using the just-in-time (JIT) compiler to compile the original assembly.
    Quote Originally Posted by MulleDK19 View Post
    Wow, you're an even worse nutcase than I thought.
    Still, it's you who is full of BS.

  8. #28
    Point is, it's still dependent on the framework, regardless of whether you use NGEN or not.

  9. #29
    Quote Originally Posted by MulleDK19 View Post
    Wow, you're an even worse nutcase than I thought. That's the MSDN description, and it's even RIGHT THERE IN IT.

    It just gets rid of the JIT compilation. The runtime is still required.
    Batto is right. JIT loads assembly just once, then it's reused until recompiled. (or restarted), but both languages work the same way - both have some Runtime that executes kind of Intermediate Language - compiled code and runs binary.

    Javas problem is, that for UI it's a crap - it's slow and sluggish, am not sure how good it will be for Arma scripting.
    Still, i think C# would be a better option then Java because of it's simplicity. However, i agree that C#rps garbage collector is a shitte. (causing for example stalls on web servers in some cases)

    Regarding overflows checks in C++.... i guess you haven't noticed that i was comparing checks on overflows in C# against C++, and what i said was, that it's pretty easy to overwrite memory using c++ (using arrays, pointers or whatever else)
    and cause application crash. - try that in c#.

  10. #30
    MulleDK19, batto

    +1 infraction each for flamebaiting each other. And now we try to get back to a mature discussion, else we close here.

Page 3 of 4 FirstFirst 1234 LastLast

Similar Threads

  1. Replies: 46
    Last Post: Jun 4 2012, 11:02
  2. New game with Arma 2 engine
    By sanders54 in forum ARMA 2 & OA - GENERAL
    Replies: 1
    Last Post: May 6 2011, 14:38
  3. Arma 2 the last game to use this engine?
    By Sakura_Chan in forum ARMA 2 & OA - GENERAL
    Replies: 79
    Last Post: Aug 31 2009, 02:10
  4. After a net game OFP...
    By napalm02 in forum TROUBLESHOOTING
    Replies: 1
    Last Post: Jan 19 2002, 22:16
  5. 2 PC\'s behind Linksys to play net Game
    By Booie in forum MULTIPLAYER
    Replies: 2
    Last Post: Nov 20 2001, 01:31

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •