KR102600025B1 - 프리캐싱을 위해 클라이언트 머신들 간에 셰이더들을 분배하는 것 - Google Patents

프리캐싱을 위해 클라이언트 머신들 간에 셰이더들을 분배하는 것 Download PDF

Info

Publication number
KR102600025B1
KR102600025B1 KR1020207024264A KR20207024264A KR102600025B1 KR 102600025 B1 KR102600025 B1 KR 102600025B1 KR 1020207024264 A KR1020207024264 A KR 1020207024264A KR 20207024264 A KR20207024264 A KR 20207024264A KR 102600025 B1 KR102600025 B1 KR 102600025B1
Authority
KR
South Korea
Prior art keywords
client machine
shader
compiled
code
shader code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020207024264A
Other languages
English (en)
Korean (ko)
Other versions
KR20200115557A (ko
Inventor
피에르-루프 미겔 그리페
Original Assignee
밸브 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 밸브 코포레이션 filed Critical 밸브 코포레이션
Publication of KR20200115557A publication Critical patent/KR20200115557A/ko
Application granted granted Critical
Publication of KR102600025B1 publication Critical patent/KR102600025B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/95Storage media specially adapted for storing game information, e.g. video game cartridges
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation
    • G06F9/4552Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Graphics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Image Generation (AREA)
KR1020207024264A 2018-01-26 2019-01-25 프리캐싱을 위해 클라이언트 머신들 간에 셰이더들을 분배하는 것 Active KR102600025B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/881,552 2018-01-26
US15/881,552 US10668378B2 (en) 2018-01-26 2018-01-26 Distributing shaders between client machines for precaching
PCT/US2019/015205 WO2019147974A2 (en) 2018-01-26 2019-01-25 Distributing shaders between client machines for precaching

Publications (2)

Publication Number Publication Date
KR20200115557A KR20200115557A (ko) 2020-10-07
KR102600025B1 true KR102600025B1 (ko) 2023-11-07

Family

ID=67391755

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207024264A Active KR102600025B1 (ko) 2018-01-26 2019-01-25 프리캐싱을 위해 클라이언트 머신들 간에 셰이더들을 분배하는 것

Country Status (6)

Country Link
US (1) US10668378B2 (https=)
EP (1) EP3735679B1 (https=)
JP (1) JP7297769B2 (https=)
KR (1) KR102600025B1 (https=)
CN (1) CN111615716B (https=)
WO (1) WO2019147974A2 (https=)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019227467A1 (zh) * 2018-06-01 2019-12-05 富士通株式会社 带宽部分指示的配置方法、装置和通信系统
CN110706147B (zh) * 2019-09-29 2023-08-11 阿波罗智联(北京)科技有限公司 图像处理的环境确定方法、装置、电子设备和存储介质
CN111228819B (zh) * 2019-12-30 2022-03-11 广东趣炫网络股份有限公司 一种保护Shader的方法、装置和设备
CN111857682B (zh) * 2020-06-28 2022-09-13 厦门极致互动网络技术股份有限公司 客户端执行远程自定义代码方法及系统、客户端、服务器
CN111736850B (zh) * 2020-07-21 2020-12-22 腾讯科技(深圳)有限公司 图像处理方法、装置、服务器及介质
US20220129295A1 (en) 2020-10-25 2022-04-28 Meta Platforms, Inc. Server-side hosted environment for a cloud gaming system
CN116635120A (zh) * 2020-12-23 2023-08-22 索尼互动娱乐有限责任公司 用于将传统代码转换为更新代码的系统和方法
US11726755B2 (en) * 2021-04-09 2023-08-15 Nvidia Corporation Caching of compiled shader programs in a cloud computing environment
KR20220156227A (ko) * 2021-05-18 2022-11-25 주식회사 엔씨소프트 캐시 데이터를 관리하기 위한 전자 장치 및 방법
US11900136B2 (en) * 2021-07-28 2024-02-13 Sony Interactive Entertainment LLC AoT compiler for a legacy game
US12210867B2 (en) 2021-09-13 2025-01-28 Nvidia Corporation Compiled shader program caches in a cloud computing environment
CN113553061B (zh) * 2021-09-22 2021-12-17 西安芯瞳半导体技术有限公司 一种提升源程序执行性能的方法、装置及计算机存储介质
CN115878209A (zh) * 2021-09-29 2023-03-31 华为技术有限公司 加载着色器的方法和装置
CN113971072B (zh) * 2021-11-15 2024-08-23 腾讯数码(天津)有限公司 信息处理方法、装置、设备、存储介质及计算机程序产品
CN116167906A (zh) * 2021-11-24 2023-05-26 荣耀终端有限公司 一种图像处理方法及电子设备
CN114115905B (zh) * 2021-11-30 2025-01-24 北京字跳网络技术有限公司 着色器代码的编译方法、装置、计算机设备及存储介质
US12499604B2 (en) * 2021-12-27 2025-12-16 Advanced Micro Devices, Inc. Updating shader scheduling policy at runtime
US12254554B2 (en) 2022-02-24 2025-03-18 Nvidia Corporation Offloading shader program compilation
US12388891B2 (en) * 2022-04-01 2025-08-12 Citrix Systems, Inc. Uploading files via distributed devices
CN114925139B (zh) * 2022-07-21 2022-11-18 沐曦科技(成都)有限公司 分级同步数据链的方法、装置及电子设备
GB2641814A (en) * 2024-06-14 2025-12-17 Sony Interactive Entertainment Inc System and method for selecting graphics shaders

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140043333A1 (en) * 2012-01-11 2014-02-13 Nvidia Corporation Application load times by caching shader binaries in a persistent storage
US20150022541A1 (en) * 2013-07-18 2015-01-22 Nvidia Corporation Method and system for distributed shader optimization
US20160070549A1 (en) * 2014-09-09 2016-03-10 Google Inc. Offline shader compilation

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328138A (ja) * 1998-05-20 1999-11-30 Hitachi Ltd 分散型コンピュータシステム
US8001531B1 (en) * 2007-07-30 2011-08-16 Nvidia Corporation Translation of a shader assembly language binary for debugging a graphics application running on a remote device
JP2009098963A (ja) 2007-10-17 2009-05-07 Mitsubishi Electric Corp モジュール自動生成システム
US8365153B2 (en) * 2007-10-26 2013-01-29 Qualcomm Incorporated Server-based code compilation
US8237720B2 (en) * 2009-02-12 2012-08-07 Microsoft Corporation Shader-based finite state machine frame detection
EP2336882A1 (en) 2009-12-18 2011-06-22 Telefonaktiebolaget L M Ericsson (PUBL) Technique for run-time provision of executable code using off-device services
US9274976B2 (en) * 2010-11-05 2016-03-01 Apple Inc. Code tampering protection for insecure environments
US9412193B2 (en) * 2011-06-01 2016-08-09 Apple Inc. Run-time optimized shader program
US9646153B2 (en) * 2012-08-08 2017-05-09 Intel Corporation Securing content from malicious instructions
US9430258B2 (en) * 2013-05-10 2016-08-30 Vmware, Inc. Efficient sharing of identical graphics resources by multiple virtual machines using separate host extension processes
US10068370B2 (en) * 2014-09-12 2018-09-04 Microsoft Technology Licensing, Llc Render-time linking of shaders
US10163179B2 (en) * 2015-03-27 2018-12-25 Intel Corporation Method and apparatus for intelligent cloud-based graphics updates
US9881351B2 (en) * 2015-06-15 2018-01-30 Microsoft Technology Licensing, Llc Remote translation, aggregation and distribution of computer program resources in graphics processing unit emulation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140043333A1 (en) * 2012-01-11 2014-02-13 Nvidia Corporation Application load times by caching shader binaries in a persistent storage
US20150022541A1 (en) * 2013-07-18 2015-01-22 Nvidia Corporation Method and system for distributed shader optimization
US20160070549A1 (en) * 2014-09-09 2016-03-10 Google Inc. Offline shader compilation

Also Published As

Publication number Publication date
EP3735679A4 (en) 2022-01-05
EP3735679B1 (en) 2024-04-17
US20190232164A1 (en) 2019-08-01
JP2021512391A (ja) 2021-05-13
US10668378B2 (en) 2020-06-02
CN111615716B (zh) 2024-01-12
WO2019147974A2 (en) 2019-08-01
EP3735679A2 (en) 2020-11-11
WO2019147974A3 (en) 2020-04-16
KR20200115557A (ko) 2020-10-07
CN111615716A (zh) 2020-09-01
JP7297769B2 (ja) 2023-06-26

Similar Documents

Publication Publication Date Title
KR102600025B1 (ko) 프리캐싱을 위해 클라이언트 머신들 간에 셰이더들을 분배하는 것
US12363196B2 (en) Demand resources
US9880824B2 (en) On demand resources
US7849462B2 (en) Image server
JP5658283B2 (ja) アプリケーションの稼働方法、装置及びシステム
US20060155674A1 (en) Image server
US11726800B2 (en) Remote component loader
US20130031214A1 (en) Method and system for efficient download of data package
CN107667343B (zh) 用于加载按需加载资源的系统和方法
US20260079893A1 (en) Efficient file-delivery techniques
US20040143586A1 (en) Method of controlling user application program
CN120276789A (zh) 资源处理方法、装置、设备、存储介质和程序产品
CN120596107A (zh) 应用程序的处理方法、装置、设备及存储介质
HK1068702B (en) Method of controlling user application program

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20200824

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20220103

Comment text: Request for Examination of Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20230214

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20230821

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20231103

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20231103

End annual number: 3

Start annual number: 1

PG1601 Publication of registration