CN111615716B - 在客户端机器之间分配着色器来进行预缓存 - Google Patents

在客户端机器之间分配着色器来进行预缓存 Download PDF

Info

Publication number
CN111615716B
CN111615716B CN201980008938.9A CN201980008938A CN111615716B CN 111615716 B CN111615716 B CN 111615716B CN 201980008938 A CN201980008938 A CN 201980008938A CN 111615716 B CN111615716 B CN 111615716B
Authority
CN
China
Prior art keywords
client machine
shader
compiled
code
client
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
CN201980008938.9A
Other languages
English (en)
Chinese (zh)
Other versions
CN111615716A (zh
Inventor
P-L·M·格里菲斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Valve Corp
Original Assignee
Valve Corp
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 Valve Corp filed Critical Valve Corp
Publication of CN111615716A publication Critical patent/CN111615716A/zh
Application granted granted Critical
Publication of CN111615716B publication Critical patent/CN111615716B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • 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
    • 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/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/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
    • 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
    • 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)
CN201980008938.9A 2018-01-26 2019-01-25 在客户端机器之间分配着色器来进行预缓存 Active CN111615716B (zh)

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
CN111615716A CN111615716A (zh) 2020-09-01
CN111615716B true CN111615716B (zh) 2024-01-12

Family

ID=67391755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980008938.9A Active CN111615716B (zh) 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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2053506A1 (en) * 2007-10-26 2009-04-29 Qualcomm Incorporated Server-based code compilation
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

Family Cites Families (14)

* 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 分散型コンピュータシステム
JP2009098963A (ja) 2007-10-17 2009-05-07 Mitsubishi Electric Corp モジュール自動生成システム
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
US9773344B2 (en) * 2012-01-11 2017-09-26 Nvidia Corporation Graphics processor clock scaling based on idle time
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
US9727339B2 (en) * 2013-07-18 2017-08-08 Nvidia Corporation Method and system for distributed shader optimization
US9747084B2 (en) 2014-09-09 2017-08-29 Google Inc. Offline shader compilation
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
EP2053506A1 (en) * 2007-10-26 2009-04-29 Qualcomm Incorporated Server-based code 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
WO2019147974A2 (en) 2019-08-01
KR102600025B1 (ko) 2023-11-07
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
CN111615716B (zh) 在客户端机器之间分配着色器来进行预缓存
US12363196B2 (en) Demand resources
US9880824B2 (en) On demand resources
US20190196805A1 (en) Controlled rollout of updates for applications installed on client devices
US10521447B2 (en) Container application execution using image metadata
CN108829581B (zh) 应用程序测试方法、装置、计算机设备及存储介质
US11726800B2 (en) Remote component loader
US20130031214A1 (en) Method and system for efficient download of data package
US11709810B1 (en) Delivery of digital information to a remote device
JP7815497B2 (ja) ビデオゲームのインスタントプレイのための、ならびにクライアント側でゲームデータを破棄およびプリフェッチするためのファイルシステム読み出し動作の追跡
CN107667343B (zh) 用于加载按需加载资源的系统和方法
JP2025183202A (ja) 効率的なファイル配信技術
CN120276789A (zh) 资源处理方法、装置、设备、存储介质和程序产品
CN113194330A (zh) 一种碎片化多云视频资源管理方法及系统
US20150317253A1 (en) Image processing apparatus, method of controlling the same, program and storage medium
CN105871927B (zh) 微端的自动登录方法及装置
CN106130964A (zh) 微端的自动登录方法及装置
CN106161429A (zh) 微端的自动登录方法及装置
US20240244019A1 (en) Automated message broker discovery
CN107911248B (zh) 升级方法和装置
CN119883352A (zh) 文件打包方法、文件更新方法、装置、设备及存储介质
CN120578399A (zh) 制品部署方法、装置、设备以及产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant