Giter VIP home page Giter VIP logo

Comments (20)

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @JanSimek (Radegast)
Date: 2012-05-25T18:28:59Z


This feature needs to be enabled at compile time by running premake with @--enable-smp@ option and then setting r_smp cvar to 1.

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @adanski (Dragonji)
Date: 2012-08-10T01:38:19Z


SMP was present in Q3 engine to increase performance for multi-processors machines. Those still exist but are rarely seen.

I would like to ask what about multi-cores support? It will be a lot of work, I am aware of that, but such a feature will provide much better FPS for most ET players in my opinion.

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @JanSimek (Radegast)
Date: 2012-08-10T06:54:48Z


TheDushan implemented multicore support in OpenWolf and I vaguely remember he gave me a patch for ET:L (and now his repository is public). I didn't do anything about it because 1) I don't understand this stuff and 2) This is a huge thing that would likely results in a few bugs which we don't need right now. However, we can create a ticket for version version:2.80

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @IR4T4 (IR4T4)
Date: 2012-08-10T07:18:17Z


Dragon, as far as I know the OS (running a multi core) already deals with this - see processor affinity.

Radegast, I did change the title of ticket and did open it again:

{TODO}
Set more precompiler marcros for smp code - see #ifdef SMP

Related vars and functions
see

  • smpActive
  • r_smp
  • R_SyncRenderThread()
  • R_InitCommandBuffers(void)
  • R_ToggleSmpFrame(void)

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @adanski (Dragonji)
Date: 2012-08-10T12:30:04Z


IR4T4 wrote:

Dragon, as far as I know the OS (running a multi core) already deals with this - see processor affinity.
Hmm, but what about the "tweak" which results in more FPS when you set your ET process to use one core only?

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @IR4T4 (IR4T4)
Date: 2012-08-11T09:53:06Z


Don't know if this is a tweak ... some installs may have better FPS results if one core is set. However you are already able to set affinity by OS so why should we add such a feature again?

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @adanski (Dragonji)
Date: 2012-08-14T18:02:00Z


IR4T4 wrote:

Don't know if this is a tweak ... some installs may have better FPS results if one core is set. However you are already able to set affinity by OS so why should we add such a feature again?

I think you don't understand what I mean.

There is such a cvar in Enemy Territory: Quake Wars:

[Dual/Multi-Core Tweaks]

r_useThreadedRenderer [0,1,2 ] - Added as of the 1.2 Patch, this option allows you to enable multithreading if you have a dual or multi-core CPU, and this can improve the performance of ET:QW. By default it's disabled (set to 0), but you can set it to either 1 or 2, with a value of 1 locking the renderer to your in-game frames, while 2 allows it to run unlocked. The developers recommend a value of 2 for this variable if you wish to enable it. Note that you must enable it either by inserting it in your autoexec.cfg file, or by entering it in the console prior to the start of a game; it can't be changed during a game.

I mean that something like this could be introduced into ET:L.

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @JanSimek (Radegast)
Date: 2012-08-15T20:41:47Z


The game now crashes when compiled without @SMP_SUPPORT@ in RB_ExecuteRenderCommands function -> if (!r_smp->integer || data == backEndData[0]->commands.cmds)

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @IR4T4 (IR4T4)
Date: 2012-08-15T21:07:15Z


Radegast wrote:

The game now crashes when compiled without @SMP_SUPPORT@ in RB_ExecuteRenderCommands function -> if (!r_smp->integer || data == backEndData[0]->commands.cmds)
shouldn't occure anymore

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @IR4T4 (IR4T4)
Date: 2012-08-18T12:38:57Z


Dragon wrote:

I mean that something like this could be introduced into ET:L.
I do exactly understand what you are talking about but QW is written in C++ and ETL in plain C ... time will tell.

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @adanski (Dragonji)
Date: 2012-11-24T13:04:16Z


This is what I get when starting the game with +set r_smp 1. I dunno what does it mean, however why not to share it with you. Maybe it's just a false info.

Oh BTW, my CPU is Intel Core 2 Duo.

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @IR4T4 (IR4T4)
Date: 2012-11-24T13:28:36Z


r_smp is apple only /* better safe than sorry for now. */

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @adanski (Dragonji)
Date: 2012-11-25T02:53:19Z


Oh lol.

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @JanSimek (Radegast)
Date: 2012-11-26T15:04:46Z


SMP doesn't work for me on my Mac. However, it is part of the code and for those people who want to test it on other platforms and report their findings I removed the hardcoded disablement.

It will likely cause trouble for most users who use it, but since they have to 1) enable @FEATURE_SMP@ and 2) set @r_smp@ to 1 and they receive several warnings in the process, I think it is quite noob-proof.

Dushan implemented real multithreading in OpenWolf by using OpenMP. Maybe we could try to port it..

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @TheDushan (TheDushan)
Date: 2013-01-14T23:22:58Z


I had few years ago working R_SMP inside OpenWolf, just how I remember I didn't get much improvements. It just OpenGL renderer into separate thread. As you can see on first three pictures.
Don't think that today it will be success to have or to use that. I remember that I had enormous problems with getting it to work on XreaL renderer, while with vanilla it was working perfectly.

Last two pictures are some experimental build of OpenWolf with most of loops moved into parallelism and compiled with OpenMP.
At that time I believed that it I move everything into work-sharing constructs that I could get better and more stable engine.

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @JanSimek (Radegast)
Date: 2013-01-24T23:21:36Z


After what Dushan said and seeing that Tim Angus @ ioquake also removed SMP support, I don't think we have any reason to fix/keep it.

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @JanSimek (Radegast)
Date: 2013-01-25T00:43:08Z


Applied in changeset commit:f3b840b19e64f6a3ae030a34d0146916b15bb36f.

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @IR4T4 (IR4T4)
Date: 2013-01-25T12:27:38Z


R_Init fails here after http://www.etlegacy.com/projects/etlegacy/repository/revisions/f3b840b19e64f6a3ae030a34d0146916b15bb36f

----- R_Init -----
SDL using driver "x11"
Initializing OpenGL display
Estimated display aspect: 1.600
...setting mode 13:
 1440 900
Available modes: '720x450 840x525 960x600 1440x900 1680x1050 680x384 1360x768 960x540 320x240 400x300 512x384 640x480 700x525 800x600 832x624 1024x768 1152x864 1280x960 1400x1050 1280x1024'
Couldn't get a visual
...WARNING: could not set the given mode (13)
Initializing OpenGL display
...setting mode 13:
 1440 900
Available modes: '720x450 840x525 960x600 1440x900 1680x1050 680x384 1360x768 960x540 320x240 400x300 512x384 640x480 700x525 800x600 832x624 1024x768 1152x864 1280x960 1400x1050 1280x1024'
Couldn't get a visual
...WARNING: could not set the given mode (13)
Setting r_mode 13 failed, falling back on r_mode 3
Initializing OpenGL display
...setting mode 3:
 640 480
Available modes: '720x450 840x525 960x600 1440x900 1680x1050 680x384 1360x768 960x540 320x240 400x300 512x384 640x480 700x525 800x600 832x624 1024x768 1152x864 1280x960 1400x1050 1280x1024'
Couldn't get a visual
...WARNING: could not set the given mode (3)
----- CL_Shutdown -----
RE_Shutdown( 1 )
-----------------------
GLimp_Init() - could not load OpenGL subsystem

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @JanSimek (Radegast)
Date: 2013-01-25T17:53:40Z


Several people tested this on different linux distributions, Windows and Mac and reported that they do not experience any issues. I went through the commit diff once again, but I don't know what could be wrong with it.

from etlegacy.

ETLegacyTeam avatar ETLegacyTeam commented on May 12, 2024

From: @IR4T4 (IR4T4)
Date: 2013-01-25T18:26:05Z


OK .. I've deleted fs_homepath content and it does work again. I don't know which cvar caused that ... I assume somemthing went terribly wrong as I did test the code for #175.

from etlegacy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.