PERFORMANCE

Suporta sa Browser at Performance para sa Client-Side na Background Removal

Ang tool na nagpapatakbo ng model sa device mo ay nakukuha rin ang mga limitasyon ng device mo. Ito ang mga browser API na kailangan nito, ang mga execution path na available dito, at ang mga variable na nagpapasya kung gaano katagal ang isang clip. Pinapatakbo ng bgremover.ai mismo ang model nito sa GPU servers namin; ang browser mo pa rin ang nagre-resize, nagko-composite at nag-e-encode ng clip.

Inilathala noong 2 Setyembre 2026 · Inverse.AI

4bytes

Kada decoded pixel

8.3MB

Isang 1080p frame

33MB

Isang 4K frame

3

Execution paths

1280px

Upload namin, mahabang gilid

Ano ang Dapat Ibigay ng Browser

Tumatakbo sa loob ng web page ang client-side background remover, kaya bawat kakayahang kailangan nito ay dapat ibigay ng browser sa halip na i-install. Apat ang mahalaga, at hindi mapapatakbo ang tool sa device na kulang kahit isa.

Pinapatakbo ng WebAssembly ang model sa sariling sandbox ng browser, kaya nananatili sa device mo ang footage ng client-side tool; ang bgremover.ai naman ay ina-upload ito sa GPU servers namin, gaya ng ipinapaliwanag sa paano gumagana ang background removal. Halos puro matrix multiplication ang inference, kaya GPU ang kailangan nito: inilalantad ito ng WebGL sa pamamagitan ng graphics API, at ng WebGPU sa pamamagitan ng compute API.

Kung wala ang alinman, babalik sa CPU ang inference. Kailangan ding may mag-encode ng mga tapos na frame sa isang file: MediaRecorder, ang mas malawak na paraan, o WebCodecs, ang mas pino. Ang ikaapat na requirement, memory para sa decoded frames, ang pinakaminamaliit.

Tatlong Execution Path

PathTumatakbo saBilisAvailability
WASM na may SIMDCPU, ilang value kada operasyonPinakamabagalHalos kahit saan
WebGLGPU, sa pamamagitan ng graphics shadersKatamtamanKahit anong GPU
WebGPUGPU, sa pamamagitan ng compute APIPinakamabilisPinakabihira

Workaround ang WebGL at hindi talaga disenyo: ginawa ang API para gumuhit ng triangles, at kumakain ng oras ang paglipat ng data sa textures. Ito pa rin ang praktikal na default. Nakikipag-agawan ang WASM sa main thread maliban kung ilipat sa worker ang trabaho, at kailangan ng BEN2 ng FP16 WebGPU, kaya mga bagong desktop GPU lang.

Availability ang nagpapasya rito, hindi preference: ang tool na WebGPU lang ang ini-implement ay mabilis kung saan ito tumatakbo at wala sa lahat ng iba pa.

Bakit Mas Mabagal ang Unang Takbo

  1. Isang beses lang dina-download ang model

    Bago maproseso ang kahit anong frame.

  2. Nag-i-initialise at nagwa-warm up ito

    Saka dadaan ang unang frame.

  3. Nilalaktawan ng mga susunod na clip ang dalawa

    Galing sa cache, kaya initialisation na lang ang natitira.

Kaya dapat i-load ng client-side tool ang model kapag may ginawang aksyon ang user, hindi pagka-load ng page: ang megabytes ng WebAssembly na dumarating pagbukas mo ay magpapamukhang sira ang page para sa sinumang nagbabasa lang.

Subukan sa sarili mong clipLibreng subukan, walang signup.

Ang Kuwenta ng Decoded Frames

Ang decoded na video frame ay mga uncompressed na pixel, kaya resolution ang pangunahing kumakain ng memory.

4bytes

Kada pixel

8.3MB

Isang 1080p frame

33MB

Isang 4K frame

5

Mga frame sa working set

Kuwenta ang mga numerong iyon, hindi sukat, at hindi magandang gabay ang compressed na laki ng file. Hindi kailangang naka-decode ang lahat ng frame nang sabay, pero may hawak na working set ang pipeline: ang frame na dine-decode, ang sine-segment, ang mask nito, ang composite, at ang buffer ng encoder.

I-multiply ang ilang frame sa 33 MB sa 4K at magsisimulang maging mahalaga ang budget ng tab, lalo na sa phone. Kung pumalya ang mahabang high-resolution na clip o nag-reload ang tab, bawasan ang resolution sa halip na ang haba: kapag hinati sa dalawa ang bawat dimension, nagiging ikaapat ang memory.

Ano ang Nagtatakda ng Tagal ng Processing

Mga ugnayan ito, hindi numero: walang sinasabi tungkol sa phone ang oras na sinukat sa isang laptop.

  • Bilang ng frameHaba beses frame rate; doble ang 60 fps kaysa sa 30 fps.
  • ResolutionNakakaapekto sa decode, composite at encode; hindi nagbabago ang inference.
  • Execution pathMagkakaiba ang WebGPU, WebGL at WASM-SIMD sa iisang machine.
  • Klase ng deviceTatlong magkaibang machine ang GPU ng desktop, laptop at phone.
  • Pagpili ng modelMas mahal kada frame ang matting kaysa sa MediaPipe.
  • Init ng deviceTina-throttle ang tuloy-tuloy na GPU work sa mainit na phone.

Wala pang timings table. Kailangan nito ng totoong testing: 60 segundo ng 1080p 30 fps sa desktop at laptop, 30 segundo sa Android at iPhone. Ang imbentong benchmark ang magiging tanging hindi mave-verify na numero dito.

Browser Support Matrix

RequirementChrome, EdgeFirefoxSafariMobile
WebAssembly✓✓✓✓
WebAssembly SIMD✓✓✓Hindi pa nate-test
WebGL✓✓✓Hindi pa nate-test
WebGPU✓Hindi pa nate-testHindi pa nate-testHindi pa nate-test
MediaRecorder✓✓Hindi pa nate-testHindi pa nate-test

Dapat may verification kada browser dito bago mag-claim ang site ng universal support. Ang claim na kaya naming gawin nang walang test ay sa architecture: kailangan ng client-side tool ng WebAssembly at GPU path, hindi WebGPU. Kailangan ng bgremover.ai ng WebCodecs, na ginagamit nito para ihanda ang upload at buuin ang export.

Tumatakbo ito sa mobile browserSa servers namin nangyayari ang GPU work.

Ang Totoong Lagay sa Mobile

Para sa client-side tool, ang maliit na footprint ng MediaPipe selfie segmentation ang nagpapagana sa mobile browser. Kasya sa budget ng tab sa phone ang ilang megabyte na may katamtamang memory; ang model na pang-desktop GPU ay hindi. Iniiwasan ito ng bgremover.ai dahil sa GPU servers tumatakbo ang model nito; ang phone pa rin ang nagde-decode at nag-e-encode ng clip.

Sa phonebgremover.aiFuzzPuppy
Tumatakbo sa mobile browserOoDesktop lang
ModelAI model namin, sa GPU serversMODNet at BEN2
Alpha export✗Alpha MOV, green-screen MP4
Kailangan ng WebGPU✗Oo
PresyoLibreLibre

Hindi kami magke-claim ng universal mobile support bago mag-test kada browser. Mas mahirap ang mobile: mas kaunting memory kada tab, agresibong eviction, thermal throttling. Ang mas maiikling clip sa mas mababang resolution ang maaasahang paraan, at isang frame lang ang litrato sa photo background remover.

Mga Madalas Itanong

Aling Mga Browser at Device ang Supported?

Kailangan ng bgremover.ai ng bagong browser na may WebCodecs, na ginagamit nito para ihanda ang upload at buuin ang export: pasok ang kasalukuyang desktop Chrome, Edge, Firefox at Safari. Sa prinsipyo, natutugunan din ng mobile browsers ang parehong requirement, at bine-verify pa ang matrix sa itaas.

Gumagana Ba Ito sa Mobile?

Oo. Sa GPU servers namin tumatakbo ang model, kaya ang phone ay naghahanda lang ng upload at bumubuo ng export. Mas maaasahan doon ang mas maiikling clip, dahil mas limitado ang memory ng tab.

Bakit Medyo Natatagalan ang Pagtanggal ng Background?

Nire-resize at ina-upload ang clip, pinoproseso sa GPU servers namin, tapos kino-composite at ine-encode sa browser mo. Nagsisimula ang processing pagdating ng unang ilang segundo, at kapag maraming gumagamit, puwedeng maghintay sandali ang job para sa bakanteng GPU. Sumasabay ang tagal sa bilang ng frame.

Bakit Mas Mabagal ang Unang Takbo Kaysa sa Ikalawa?

Sa client-side tool, dina-download ang model sa unang paggamit at pagkatapos ay kina-cache ng browser, kaya ang unang clip ang nagbabayad ng download at initialisation. Sa bgremover.ai, sa servers namin tumatakbo ang model; ang unang clip ay kumukuha lang ng video library ng page, na kina-cache din ng browser.

Bakit Dapat Panatilihing Bukas ang Browser Tab?

Ang tab ang nag-a-upload ng clip, kumukuha ng mga mask mula sa servers namin at bumubuo ng export. Kapag isinara ito, makakansela ang job, at hindi na makukuha ang export mula sa ibang tab; ipinapaliwanag ng privacy page kung ano ang itinatago sa side namin.

Proporsyonal Ba ang Tagal sa Haba ng Clip?

Halos, oo, dahil sumusunod ang tagal sa bilang ng frame at kapag dinoble ang haba, doble rin ang frames. Ganoon din kapag tinaasan ang frame rate. Mas magastos sa decode, composite at encode ang pagtaas ng resolution, pero hindi sa segmentation.

Subukan ang Background Remover

Subukan nang hindi nagsa-sign up. Pinoproseso ang file mo sa GPU servers namin at hindi kailanman sine-save.