Pixi.js: Mengubah Resolusi Renderer

Dibuat pada 6 Mar 2017  ·  16Komentar  ·  Sumber: pixijs/pixi.js

Apakah ada cara untuk memperbarui resolusi perender? Saya mencoba renderer.resolution = window.devicePixelRatio, tetapi itu hanya membuat layar berkedip putih.

🤔 Question

Komentar yang paling membantu

Ya itu. Saya akan membuat fungsi itu nanti, tetapi ini mungkin berfungsi untuk saat ini:

renderer.resolution = 2;
renderer.rootRenderTarget.resolution = 2;
renderer.resize(w-1, h);
renderer.resize(w, h);

Jangan lupa untuk memperbarui SEMUA RESOLUSI FILTER.

Semua 16 komentar

Solusi sementara terbaik yang saya dapatkan adalah dengan menghancurkan dan membuat ulang perender, meneruskan resolusi baru ke autoDetectRenderer. Ini berfungsi tetapi mungkin bukan cara paling efisien untuk melakukannya. Selain itu, mungkin masih ada masalah dengan berulang kali menghancurkan dan membuat ulang perender: # 2233

Sepertinya harus ada pemanggilan fungsi sederhana untuk melakukan ini, seperti renderer.setResolution, yang meminimalkan jumlah pemrosesan ekstra dan resource mati.

Hai @jasvaz! Ingin tahu tentang kasus penggunaan Anda untuk ini?
Bersulang!

Ya itu. Saya akan membuat fungsi itu nanti, tetapi ini mungkin berfungsi untuk saat ini:

renderer.resolution = 2;
renderer.rootRenderTarget.resolution = 2;
renderer.resize(w-1, h);
renderer.resize(w, h);

Jangan lupa untuk memperbarui SEMUA RESOLUSI FILTER.

Dan jangan lupa juga untuk mengupdate resolusi plugin interaksi

@jas_garut

PERSIS, Zoom berubah, itulah yang ingin saya lakukan juga :)
Untuk saat ini, asumsikan bahwa "renderer.screen" adalah persegi panjang layar dalam koordinat logis, sedangkan "renderer.view" adalah kanvas sehingga lebar dan tinggi dikalikan dengan resolusi.

Centang seperti ini agar berfungsi untuk kedua perender:

if (renderer.rootRenderTarget) { renderer.rootRenderTarget.resolution = newResoultion; }

-
Selain itu, tampaknya berfungsi sama tanpa baris berikut, saya pikir karena zoom mengubah resolusi dan dimensi jendela, tetapi mungkin kasus penggunaan lain memerlukannya:

renderer.resize(w-1, h);

Ya saya setuju.

@ivanpopelyshev Saya ingin menskalakan layar.
Menggunakan metode Anda akan membuat kanvas menjadi buram.
Menggunakan resolusi metode saya tidak boleh lebih dari 20

https://jsfiddle.net/starCoding/p49u34hd/8/

@starInEcust Mengapa Anda membutuhkan resolusi lebih dari 20? Resolusi bukanlah tentang penskalaan, zoom browser-nya. Skala adalah bagian dari transformasi tahapan.

@ivanpopelyshev Saya ingin memperbesar penyaji dan menjaga teks dan gambar svg tidak akan terdistorsi

@starInEcust Saya memecahkan masalah semacam itu dengan menyesuaikan skala dan ukuran font secara manual.

Ada juga solusi baru: gunakan font SDF. https://github.com/PixelsCommander/pixi-sdf-text

@ivanpopelyshev bagaimana dengan svg? Saya hanya ingin membuat editor teks dengan animasi yang keren, di print preview bisa memperbesar dan memperkecil, tapi tidak mempengaruhi penataan huruf.
Dan apakah ada masalah dengan penggunaan perbesaran resolusi?

Itu kasus penggunaan yang sangat tidak biasa untuk pixi. Anda harus mengubah zoom melalui "stage.scale" dan menyesuaikan resolusi hanya pada SVG dan teks, bukan resolusi seluruh penyaji. Dalam kasus Anda, ukuran layar penyaji tetap, dan saat Anda mengubah resolusi, dimensi kanvas menjadi terlalu besar, Anda mencapai ukuran piksel 16k x 16k!

Saya tidak menggunakan SVG di pixi jadi saya tidak tahu bagaimana mengatur resolusi untuk itu :)

Terima kasih banyak! Mungkin saya harus membuka masalah untuk membahas pertanyaan ini :(

Akan menutup masalah ini karena tampaknya sudah terjawab, silakan buka yang lain jika Anda memiliki pertanyaan lain!

Utas ini telah dikunci secara otomatis karena tidak ada aktivitas baru-baru ini setelah ditutup. Silakan buka masalah baru untuk bug terkait.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

gigamesh picture gigamesh  ·  3Komentar

finscn picture finscn  ·  3Komentar

madroneropaulo picture madroneropaulo  ·  3Komentar

st3v0 picture st3v0  ·  3Komentar

readygosports picture readygosports  ·  3Komentar