FI115675B - Real-time interactive three-dimensional computer game providing method involves sending compressed data entities describing player-specific views of game world, by server to computer terminal via network - Google Patents
Real-time interactive three-dimensional computer game providing method involves sending compressed data entities describing player-specific views of game world, by server to computer terminal via network Download PDFInfo
- Publication number
- FI115675B FI115675B FI20010877A FI20010877A FI115675B FI 115675 B FI115675 B FI 115675B FI 20010877 A FI20010877 A FI 20010877A FI 20010877 A FI20010877 A FI 20010877A FI 115675 B FI115675 B FI 115675B
- Authority
- FI
- Finland
- Prior art keywords
- server
- game
- player
- computer
- client
- Prior art date
Links
Landscapes
- Processing Or Creating Images (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
115675115675
Menetelmä grafiikkasovelluksien suorittamiseen Tämä keksintö koskee menetelmää, jonka avulla on mahdollista nopeuttaa ja järkiperäistää erilaisten grafiikkasovellusten samanaikaista suorittamista useilla 5 tietokoneilla.This invention relates to a method for accelerating and rationalizing the simultaneous execution of various graphics applications on a plurality of computers.
Tietojenkäsittelyssä on tunnettua keskitettyjen ns. palvelintietokoneiden käyttö sovellusten suorittamiseen. Yleinen periaate näiden sovellusten suorittamisessa on, että sovellusten käyttäjät kommunikoivat palvelimen suorittaman sovelluksen 10 kanssa asiakastietokoneiden välityksellä. Tunnettuja palvelimilla suoritettavia ohjelmistoja ovat esimerkiksi tietokantasovellukset.There is a well-known system of centralized data processing in data processing. use of server computers to run applications. The general principle behind executing these applications is that application users communicate with the application 10 executed by the server via client computers. Known server-based software include database applications.
Toiminnan taloudellisuus riippuu sovellusten määrästä suhteutettuna tietokonelaitteiston hintasuhteeseen. Edullisen lopputuloksen saavuttamiseksi yhdellä palveli-15 mella pyritään luonnollisesti kattamaan mahdollisimman monen asiakkaan tarpeet.The cost-effectiveness of the operation depends on the number of applications in relation to the price ratio of the computer hardware. Of course, to achieve an affordable end result, a single server is designed to meet the needs of as many customers as possible.
Toisaalta on tunnettua, että tietokoneilla voidaan erillistä grafiikkakiihdytinkorttia käyttäen tehdä realistiselta näyttäviä simulaatioita kolmiulotteisesta maailmasta. Erityisen tärkeää ja paljon käytettyä tämä on esimerkiksi silloin, kun pelataan 20 pelejä, joissa liikutaan edellä mainitun kaltaisissa maailmoissa.On the other hand, it is known that computers can make realistic-looking simulations of a three-dimensional world using a separate graphics accelerator card. Particularly important and much used is this, for example, when playing 20 games that navigate worlds like the above.
I I * » .* ·. Edellä mainitun kaltaisten grafiikkasovellusten ajoa palvelimilla vaikeuttaa tietoko- . * *. neen grafiikkakiihdytinkortin tehtävänvaihdon hitaus ja grafiikka(tekstuuri)muistin -j rajallisuus. Tietokoneiden perinteinen rakenne estää useimmiten korttien lisäämi- :' 25 sen, mutta grafiikkamuistin lisääminen on tietysti mahdollista. Tällöin kuitenkin siirrytään tavallisesti myös epätaloudelliselle toiminta-alueelle.I I * ». * ·. Running graphics applications such as the above on servers is hampered by computing. * *. the slowness of switching between the graphics accelerator board and the memory (j) of the graphics (texture). The traditional design of computers usually prevents insertion of cards, but of course it is possible to add graphics memory. However, in such cases, they usually also move to an uneconomical operating area.
• > · > « · » : ‘ : Tietokoneiden grafiikkakiihdyttimet on yleensä suunniteltu vain yhden grafiikkain- tensiivisen sovelluksen suorittamiseen kerralla. Perinteisesti asiat on ratkaistu * · ;·*. 30 siten, että kunkin palveltavan asiakkaan työ tehdään omassa prosessissaan, joita . . prosesseja palvelimen käyttöjärjestelmä suorittaa vuorotellen pienen aikajakson kerrallaan.•> ·> «·»: ': Computer graphics accelerators are generally designed to run only one graphics-intensive application at a time. Traditionally, things have been solved * ·; · *. 30 so that the work of each customer being served is done in their own process by. . processes are performed alternately by the server operating system for a short period of time.
Tyypillisen palvelimella suoritettavan pelisovelluksen suoritus etenee esimerkiksiExecution of a typical server-based game application proceeds, for example
• I• I
115675 2 seuraavalla tavalla:115675 2 as follows:
Syötteen käsittely o Simulaatio o Uuden kuvan piirto >=> Kuvan pakkaus ja lähetys o Odotus, kunnes aika piirtää seuraava kuva. Tästä palataan toisin sanoen 5 syklin alkuun.Input processing o Simulation o Drawing a new image> => Compressing and sending an image o Waiting for the next image to be drawn. In other words, this returns to the beginning of 5 cycles.
Jos samassa palvelimessa suoritetaan useita tällaisia prosesseja yhtä aikaa, käy niin, että välillä kahden tai useamman eri prosessin ’’uuden kuvan piirto’-vaiheet osuvat samaan aikaan. Koska tietokoneiden käyttöjärjestelmät vuorottelevat kul-10 loinkin suoritettavaa prosessia kaikkien tietokoneella ajossa olevien prosessien väliltä, joutuu tietokoneen grafiikkakortti tällöin vaihtamaan tehtäviään tiuhaan, mikä aiheuttaa ei-toivotun hidastumisen sen toiminnassa.If several such processes are executed on the same server at the same time, it is sometimes the case that two or more different process '' new image drawing '' steps occur at the same time. As the computer operating systems alternate between the processes that are currently running between all the processes running on the computer, the graphics card in the computer will then have to change its tasks frequently, causing an unwanted slowdown in its operation.
Useita palvelimia käytettäessä synkronoimattomien pelien kuvan lähetys saattaa 15 osua ja tavanomaisesti osuukin myös samaan aikaan aiheuttaen kapasiteettiongelmia tiedonsiirrossa, jos palvelimet kommunikoivat asiakastietokoneiden kanssa käyttäen ethernetin kaltaista tietoverkkoa, jossa kapasiteettia jaetaan kilpavarausmenetelmään perustuen.When using multiple servers, the transmission of non-synchronized games may and may not occur at the same time, causing capacity problems in data transfer if the servers are communicating with client computers using an Ethernet-like data network where capacity is allocated on a competitive booking basis.
20 Tämän keksinnön tarkoituksena on aikaansaada uusi ratkaisu edellä kuvattuihin : ongelmiin. Tarkoitus on sujuvoittaa toimintoja niin, että yhtäaikaiset ja kilpailevat : ” prosessit pyritään estämään, jolloin grafiikkapiirien kuormitus pienenee ja tehtävi- * * · ' en suoritus nopeutuu. Tämä on aikaansaatu siten kuin esitetään tunnusomaiseksi • · • · ’ oheisissa patenttivaatimuksissa.It is an object of the present invention to provide a novel solution to the problems described above. The aim is to streamline operations so that they are both concurrent and competing: “processes are avoided, reducing graphics workloads and speeding up * * · tasks. This is accomplished as set forth in the appended claims.
2525
Lyhyesti sanottuna palvelimella suoritettava sovellus muokataan sellaiseksi, että . yhdessä käyttöjärjestelmän prosessissa voidaan palvella useampaa asiakasta .... vuorotellen. Tällöin a) näiden asiakkaiden palvelu ei kilpaile grafiikkakortin resurs seista keskenään, koska niitä ei suoriteta yhtä aikaa ja b) näiden asiakkaiden pelit » ♦» ' ; 30 voivat käyttää samaa 3D-maailman mallia ja näin säästää grafiikkakortin muistia.In short, the server-side application is modified to:. a single operating system process can serve multiple clients .... alternately. In this case, (a) the service of these customers does not compete with the resources of the graphics card because they are not executed simultaneously and (b) the games of these customers »♦» '; 30 can use the same 3D world model to save graphics card memory.
Tämä parantaa palvelimen suorituskykyä merkittävästi tilanteessa, jossa monta asiakasta käyttää samaa sovellusta.This significantly improves server performance in a situation where many clients are using the same application.
Lisäksi pelien ollessa kyseessä eri asiakkaiden palvelujärjestys valitaan siten, että I , 3 115675 pelimaailmassa lähekkäin olevien pelaajien pelit suoritetaan peräkkäin. Tällöin pystytään hyödyntämään grafiikkakiihdyttimen muistin ns. välimuistiominaisuutta, jossa vasta käytetyt 3-ulotteisen mallin osat ovat nopeammin käytössä kuin aiemmin käyttämättömät.In addition, in the case of games, the order of service of the various customers is selected so that the games of the players closest to the I, 3 115675 are played in succession. This makes it possible to utilize the so-called memory accelerator memory. caching feature, where newly used 3-D model parts are faster in use than previously unused parts.
55
Lisäksi, jos peliä suorittavassa palvelintietokoneessa on useampi kuin yksi prosessori, kannattaa kuvan pakkaus ja lähetys aikaa vievänä erottaa omaan suoritus-säikeeseensä, jota voidaan ajaa millä tahansa koneen prosessoreista. Eri pelien kuvan piirtävät säikeet kannattaa taas lukita toimimaan kaikki samalla prosessorilla 10 synkronointisyistä.In addition, if the game server computer is running more than one processor, it is advisable to separate the image compression and transmission into its own execution thread, which can be run on any of the machine's processors. Again, it is advisable to lock the strands that draw the image of the various games to operate on the same processor 10 for synchronization purposes.
Kun samalla palvelintietokoneella suoritetaan useampaa kuin yhtä eri peliä, tai samaa peliä suoritetaan useammalla kuin yhdellä palvelimella, ei näitä voi suorittaa samassa käyttöjärjestelmän prosessissa ja siten estää niitä käyttämästä gra-15 fiikkakorttia yhtä aikaa. Tämän takia on edullista käyttää ulkoista tahdistusmenet-telyä, jossa yksi tietokone jakaa aikavälejä muiden tietokoneiden kullekin prosessille.When more than one game is played on the same server computer, or when the same game is played on more than one server, these cannot be run in the same operating system process and thus prevent them from using the gra-15 smart card at the same time. Therefore, it is preferable to use an external synchronization procedure in which one computer distributes time slots for each process of the other computers.
Tähän tarkoitukseen soveltuu esimerkiksi kaapeli, joka kytkee aikavälejä jakavan 20 tietokoneen rinnakkaisportin kaikkien muiden saman ryppään tietokoneiden rinnak- : . kaisportteihin. Aikavälejä jakava tietokone antaa rinnakkaisporttia käyttäen vuorol- » > * . v. laan merkin kunkin palvelimen kullekin pelille jolloin pelit piirtävät ruutunsa. Samal- .· la tahdistuu myös pakatun kuvan lähetys verkon kautta asiakaslaitteille, jolloin j myös verkon kapasiteetti saadaan maksimaalisesti hyödynnettyä.For example, a cable that connects the parallel port of a slot 20 computer to all other computers in the same cluster is suitable for this purpose. kaisportteihin. The slot splitting computer provides a parallel port »» *. v. Draw a character for each game on each server so the games draw their screens. At the same time, it also synchronizes the transmission of the compressed image over the network to the client devices, thus maximizing the capacity of the network.
·. 25 •·. 25 •
Palvelinten ja asiakkaiden välisen verkon toimintaa voidaan vielä tehostaa käyttä- ; mällä erillistä välittäjätietokonetta, jonka kautta kaikki liikenne palvelimilta verkkoon ’ ]: ja asiakaslaitteilta palvelimille tapahtuu. Välittäjätietokoneessa käytetään ohjel- , ·. maa, joka vastaanottaa palvelinten lähettämät kuvat ja lähettää ne edelleen verk- · ·. 30 koon mahdollisimman tasaisin aikavälein. Lisäksi ohjelma osaa olla käyttämättä Λ verkkoa silloin, kun se odottaa asiakaslaitteelta kuittausviestiä jo lähetettyyn ku- '. ‘ vaan. Näin varmistetaan etteivät eri palvelinten lähettämät kuvat ja päätelaitteiden » · kuittausviestit kilpaile keskenään verkon kapasiteetista.The operation of the server-to-client network can be further enhanced; by providing a separate proxy computer through which all traffic from servers to the network '] and from client devices to servers takes place. The proxy computer uses software, ·. the country that receives the images sent by the servers and forwards them to the network. 30 sizes at as even intervals as possible. In addition, the program can refrain from using the Λ network when it waits for an acknowledgment message from a client device to an already sent image. 'But. This ensures that images sent by different servers and acknowledgments of terminals »· do not compete with each other on network capacity.
5 4 1156755 4 115675
Jotta kuvat joutuisivat odottamaan välittäjätietokoneella mahdollisimman vähän aikaa, on edellä kuvatun kaltaisen ulkoisen tahdistuksen samanaikainen käyttö myös tarpeen.The simultaneous use of external synchronization such as the one described above is also necessary to minimize waiting time on the proxy computer for images.
Claims (10)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20010877A FI115675B (en) | 2001-04-26 | 2001-04-26 | Real-time interactive three-dimensional computer game providing method involves sending compressed data entities describing player-specific views of game world, by server to computer terminal via network |
AU2002251112A AU2002251112A1 (en) | 2001-04-26 | 2002-04-26 | Method and arrangement for providing an interactive game including three-dimensional graphics |
PCT/FI2002/000362 WO2002092177A2 (en) | 2001-04-26 | 2002-04-26 | Method and arrangement for providing an interactive game including three-dimensional graphics |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20010877 | 2001-04-26 | ||
FI20010877A FI115675B (en) | 2001-04-26 | 2001-04-26 | Real-time interactive three-dimensional computer game providing method involves sending compressed data entities describing player-specific views of game world, by server to computer terminal via network |
Publications (3)
Publication Number | Publication Date |
---|---|
FI20010877A0 FI20010877A0 (en) | 2001-04-26 |
FI20010877A FI20010877A (en) | 2002-10-27 |
FI115675B true FI115675B (en) | 2005-06-15 |
Family
ID=8561071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FI20010877A FI115675B (en) | 2001-04-26 | 2001-04-26 | Real-time interactive three-dimensional computer game providing method involves sending compressed data entities describing player-specific views of game world, by server to computer terminal via network |
Country Status (1)
Country | Link |
---|---|
FI (1) | FI115675B (en) |
-
2001
- 2001-04-26 FI FI20010877A patent/FI115675B/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
FI20010877A0 (en) | 2001-04-26 |
FI20010877A (en) | 2002-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6973475B2 (en) | Dynamic scalable multi-media content streaming | |
KR101851096B1 (en) | Crowd-sourced video rendering system | |
CN103309748B (en) | Adaptive scheduling host system and scheduling method of GPU virtual resources in cloud game | |
CN106796530B (en) | A kind of virtual method, device and electronic equipment, computer program product | |
CN102254292A (en) | Remote 3D instruction rendering system and method | |
EP2654911A2 (en) | Load balancing between general purpose processors and graphics processors | |
CN102323917B (en) | Shared memory based method for realizing multiprocess GPU (Graphics Processing Unit) sharing | |
US11645117B2 (en) | System and method for multi-tenant implementation of graphics processing unit | |
JP5453825B2 (en) | Program parallel execution system and program parallel execution method on multi-core processor | |
CN105573850B (en) | Multi-process exchange method, system and server | |
CN112473130A (en) | Scene rendering method and device, cluster, storage medium and electronic equipment | |
CN115955590A (en) | Video processing method, video processing device, computer equipment and medium | |
FI115675B (en) | Real-time interactive three-dimensional computer game providing method involves sending compressed data entities describing player-specific views of game world, by server to computer terminal via network | |
CN113018845A (en) | Operation instruction execution method, client, server and storage medium | |
Shi et al. | Scalable support for 3D graphics applications in cloud | |
CN115391053B (en) | Online service method and device based on CPU and GPU hybrid calculation | |
US11847720B2 (en) | System and method for performing a Z pre-pass phase on geometry at a GPU for use by the GPU when rendering the geometry | |
CA2833346C (en) | Reducing latency for served applications by anticipatory preprocessing | |
EP2861313B1 (en) | Processing system, information processing apparatus, control method, program and storage medium | |
CN111212403B (en) | Intelligent chess table triggering pairing method and system based on 5G network | |
CN113975816B (en) | Hook-based graphics card distribution method using graphics card through DirectX interface | |
CN113946373B (en) | Virtual reality multiple video stream rendering method based on load balancing | |
CN116637358B (en) | Data transmission method, related device, equipment and storage medium | |
US11961159B2 (en) | Region testing of geometry while rendering for efficient multi-GPU rendering | |
Ishioka et al. | Traffic reduction for speculative video transmission in cloud gaming systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Patent granted |
Ref document number: 115675 Country of ref document: FI |
|
MA | Patent expired |