屏幕_屏幕保护 - CSDN
精华内容
参与话题
  • Unity 屏幕粒子特效生成

    千次阅读 2019-07-15 14:31:20
    using System.Collections; using System.Collections.Generic; using UnityEngine; public class BuddleTest : MonoBehaviour { Vector3 point; GameObject effectGo; public ParticleSystem ps;......

     

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class BuddleTest : MonoBehaviour
    {
        Vector3 point;
        GameObject effectGo;
        public ParticleSystem ps;
        void Start()
        {
            effectGo = Resources.Load<GameObject>("ParticlePrefabs/Bubble Particles");
        }
    
        // 方法一
        void BubbleSpawn(Vector2 spawnPos)
        {
            point = new Vector3(spawnPos.x, spawnPos.y, 1f);//获得鼠标点击点
            point = Camera.main.ScreenToWorldPoint(point);//从屏幕空间转换到世界空间
            GameObject go = Instantiate(effectGo, transform, true);
            go.transform.localPosition = point;
        }
        
        // 方法二
        void BubbleSpawn2(Vector2 spawnPos)
        {
            point = Camera.main.ScreenToWorldPoint(spawnPos);//从屏幕空间转换到世界空间
            point = new Vector3(point.x, point.y, 1f);//获得鼠标点击点
            ParticleSystem newParticlePrefab = Instantiate(ps, point, ps.transform.rotation);
            newParticlePrefab.transform.parent = transform;
        }
        void Update()
        {
            if (Input.GetMouseButtonDown(0))
            {
               // BubbleSpawn(Input.mousePosition);
                BubbleSpawn2(Input.mousePosition);
    
            }
        }
    }
    

    2.

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class ParticleMsg : MonoBehaviour
    {
        public static ParticleMsg Instance;
        public GameObject[] effectGo; // 粒子特效预设体数组
    
        private void Awake()
        {
            Instance = this;
        }
    
        Vector3 point; // 保存粒子生成的初始坐标
    
        
        /// <summary>
        /// 
        /// </summary>
        /// <param name="spawnPos"> 粒子生成坐标</param>
        /// <param name="index">生成的粒子下标</param>
        /// <param name="lifeTimer">生成的粒子生命周期</param>
        void BubbleSpawn(Vector2 spawnPos,int index,float lifeTimer)
        {
            point = new Vector3(spawnPos.x, spawnPos.y, 1f);//获得鼠标点击点
            point = Camera.main.ScreenToWorldPoint(point);//从屏幕空间转换到世界空间
            GameObject go = Instantiate(effectGo[index], transform, true);
            go.transform.localPosition = point;
            Destroy(go, lifeTimer);
        }
        
        void Update()
        {
            if (Input.GetMouseButtonDown(0))
            {
                BubbleSpawn(Input.mousePosition,0,2f);
    
            }
        }
    }
    

     

    展开全文
  • 屏幕笔记

    2020-10-28 09:10:08
    刚安上centos7的时候,发现自己的屏幕好小啊,只有一小块,800*600的,怎么看怎么难受,于是我就在csdn上寻找调整屏幕大小的办法,发现有好多,最终找到了适合我自己的方法。 首先,在虚拟机的工具栏栏上找到,...
       刚安上centos7的时候,发现自己的屏幕好小啊,只有一小块,800*600的,怎么看怎么难受,于是我就在csdn上寻找调整屏幕大小的办法,发现有好多,最终找到了适合我自己的方法。
       首先,在虚拟机的工具栏栏上找到,“虚拟机”->重新安装Tools会在桌面上提示“客户机操作系统已将CD-ROM锁定……”等一大长串,点击确定按钮后,屏幕下方会提示“在客户机种安装虚拟CD驱动器,启动终端,使用tar解压缩安装程序,然后执行vmware-install.pl安装Tools”。
       但我还是部明白,就找到了一个下载open-vm-tools的方法(https://blog.csdn.net/w_xiaote/article/details/86601001)这个open-vm-tools和 Tools是功能相似的软件,不过官方更加推荐open-vm-tools。第一步,进入root权限$su root。第二步,下载并安装这个软件,#yum -y install open-vm-tools,没用apt-get是因为我不知道为啥用不了,就用了yum,第三步,#yum -y install open-vm*,然后就会开始安装了,一路Enter,就完成安装了,这个时候在桌面上就会出现一个 tools的镜像文件,但原文章种提示,说已经完成了,重启即可,我就重启了,结果重启后,按个镜像文件也没了,重新安装后,也提示已经安装好了。
       看了看其他的博客,发现基本上都是从桌面上下载好那个镜像文件那里开始的,于是我就无奈又点了一下虚拟机工具栏下的“虚拟机”->重新安装 Tools,结果这次没提示,那个镜像文件直接出现在了我的桌面上,于是,那就按照别人的教程走呗,[second](https://blog.csdn.net/dcrmg/article/details/74090307)当执行到sudo perl -install.pl,我又不能执行了,就只好再次开启root权限su root,来执行perl了,安装好后,我也在菜单栏里点击“查看”->“自动调整大小”->“自动适应窗口”,结果不行,我只好再查。
       [third](https://blog.csdn.net/lovexlsforever/article/details/78029044)最终把自己的屏幕从800:600调整到了1360:769(16:9),重启以后也不会变回原来的样子了。
       相比于别人的话,我也不知道我所说的步骤中,哪些是多走的。但我没法直接安装 Tools,只好安装open-vm-tools,其实到最后,我也不知道我用的究竟是那个 tools,我也不知道是否直接可以调整屏幕分辨率就能达到效果,但第二篇引用的文章中好像是最重要的,自己写的自己看,能对别人又帮助也顺便。
    
    展开全文
  • H.265屏幕编码技术

    千次阅读 2019-07-29 17:03:14
    腾讯无线投屏是腾讯音视频实验室为解决会议室高频场景痛点而研发的一款会议类产品。无线投屏提高了会议效率,简化了会议流程。...本文将给大家揭秘腾讯无线投屏背后的屏幕编码技术(Tencent Screen Enc...

    腾讯无线投屏是腾讯音视频实验室为解决会议室高频场景痛点而研发的一款会议类产品。无线投屏提高了会议效率,简化了会议流程。自上线以来得到了广泛的应用。无线投屏涉及技术面广,技术难度大,为了提升用户体验,腾讯无线投屏在网络适应性,鼠标优化,扩展屏及视频编解码技术等方面做了大量攻坚,使我们的产品在各个方面处于业界领先水平。本文将给大家揭秘腾讯无线投屏背后的屏幕编码技术(Tencent Screen Encoder,以下简称TSE),对于屏幕内容图像,TSE相比x265(normal模式),压缩效率提升55%。

    1、屏幕内容简介

    屏幕内容图像是直接从各类设备(计算机,移动终端等)的图像显示单元捕获的。常见的屏幕内容有计算机图形和文本图像、自然视频与图形/文字混合的图像以及计算机生成的动画图像等。屏幕图像在桌面协作,桌面共享,第二屏幕,云游戏等各种场景中普遍存在。

    图1 典型屏幕内容图像

    由计算机生成的屏幕图像和摄像头捕获的自然图像之间有明显的差别——图形文本这类计算机生成图像通常没有噪声,色调离散,线条细腻,边缘锐利;而摄像机拍摄视频通常是有噪声,色调连续,纹理比较复杂的。

    传统视频编码采用的混合编码结构对于屏幕内容而言效果不是很好,对于比较细的高频纹理,采用混合编码方式编码后会损失细节,且容易产生振铃效应,如下图所示:

    图2 屏幕内容采用混合编码的效果图

    由于屏幕图像与传统视频具有显著不同的特点,我们需要寻求新的编码工具,充分挖掘屏幕图像本身的特征,以此来大幅度提高屏幕图像的编码效率。2016年,HEVC正式发布了第四版本HEVC-SCC(HEVC Screen Content Coding Extension),该版本针对屏幕内容做了大量优化,增加了全新的编码工具,大大提升了屏幕内容的编码效率。

    2、HEVC-SCC关键技术介绍

    HEVC-SCC于2016年正式发布,它在HEVC和HEVC-RExt的基础上,增加了一些编码工具集,具体如下图:

    图3 HEVC各版本新增编码工具集

    从上图可知,HEVC-SCC增加的主要工具集有:

    • 帧内块拷贝(Intra Block Copy,以下简称IBC):除了传统的帧内和帧间预测模式,HEVC-SCC引入了一种新的编码模式IBC,该模式的PU采用当前帧已重建块作为预测块,可以认为IBC是当前编码图像内的运动补偿;
    • 调色板模式(Palette Mode):对于屏幕内容图像,很多编码块内部的颜色数是有限的。调色板模式枚举这些颜色值生成颜色表,然后为每个样本传递一个索引以指示它属于颜色表中的哪种颜色。和基于预测-变换的传统编码方法相比,对于颜色数相对较集中的屏幕内容图像,调色板模式往往更加有效。
    • 自适应颜色变换(Adaptive Color Transform:ACT):屏幕内容普遍采用RGB的颜色空间,消除不同颜色分量之间的冗余对于提升编码效率非常重要。HEVC-SCC支持将残差自适应转换到不同颜色空间,一个RGB颜色空间的图像块可以直接编码,也可以在编码时自适应的转换到YCoCg颜色空间进行编码以提升其编码效率。
    • 自适应运动矢量分辨率(Adaptive Motion Vector Resolution:AMVR):一般相机捕获的图像通常是运动连续的,但屏幕内容的运动通常是离散的,其精细粒度是像素级的。 因此,对于大部分屏幕内容,并不需要做分像素运动补偿。 在HEVC-SCC中,可以在slice级来控制运动矢量MV的精度(整像素还是分像素)。

    这几个新的编码工具集极大的提升了屏幕内容图像的编码效率。根据相关资料统计,对于屏幕图像,在无损情况下,HEVC-SCC相比HEVC-RExt压缩效率提升36%(AI模式)和20%(LD模式),而在有损模式下,HEVC-SCC相比HEVC-RExt压缩效率提升更是高达56%(AI模式)和40%(LD模式)。这其中,又以IBC和调色板编码技术的性能提升效果最显著。其中,IBC的编码增益在30%以上,而调色板编码可以在IBC的基础上,再提升10-15%。接下来,我们将重点介绍IBC和调色板编码技术。

    1)IBC编码

    对于文字、图形等屏幕内容序列,同一帧中存在很多重复纹理,即具有较强的空间相关性。如图4所示,图中红色和蓝色框所示区域的纹理几乎是一致的,如果在编码当前块时,能够参考当前帧已编码完的块,则能大大提升编码效率。

    图4 屏幕图像空间相关性示例

    针对屏幕图像空间相关性强的特点,屏幕内容编码引入了新的预测技术,即IBC技术。IBC和帧间图像预测类似,只不过IBC的预测块是由当前编码图像帧的重建块产生的。IBC是在PU级进行的,我们可以将它视为一个帧间PU。帧间模式的设计让IBC和普通的帧间预测模式更灵活的连接起来。比如,一个帧间编码的CU可以有两个PU,一个使用传统的帧间预测,另一个使用IBC。

    虽然IBC和帧间模型是统一的,但帧间预测模型并不能直接用于IBC。相对传统帧间预测模型,IBC具有以下一些限制条件:

    1)IBC参考的是环路滤波之前的重建像素;

    2)当前图像如果被用于参考,它会被标记为长期参考帧。当整张图像解码完后,它会进行环路滤波,然后加入到DPB中作为短期参考帧。

    3)IBC的预测块不能和当前CU重叠,以防止未重建好的样本被用于预测;

    4)预测块和当前CU应位于同一个slice和同一个tile;

    5)预测块的搜索区域要严格限制在图5所示的灰色区域部分,以免影响并行处理;

    6)IBC的块矢量(Block Vector)必须是整像素精度;

    图5 IBC搜索区域(灰色部分)

    2)调色板模式

    调色板模式对于颜色数比较少的编码块效果特别好。与传统的基于预测+变换的混合编码结构不同,调色板模式通过颜色表和索引来完成像素级的重建。编码端将CU的颜色生成一个颜色表,对于CU内的每个像素,会传输一个颜色表索引,解码端根据颜色表和索引来对各个像素进行重建。如果某个像素在颜色表中找不到合适的颜色,调色板模式会将该像素的置为escape模式,对于escape模式的像素,会进行量化反量化操作才完成重建。图6是一个调色板模式的实例;

    图6 调色板编码实例

    3、屏幕编码技术实现及优化

    去年,音视频实验室对外推出了无线投屏应用。无线投屏用户的大部分应用场景都是PPT,Word等文档类分享,这些内容非常适合屏幕内容编码技术。由于IBC和调色板模式对于提升屏幕内容图像编码效率效果最显著,我们在屏幕编码技术中实现了IBC和调色板模式编码技术。

    IBC和调色板模式虽然压缩效率很高,但是它的编码复杂度也是非常高的,对于投屏这类实时应用,编码速度是非常关键的。因此,为了能满足实时应用,我们对IBC和调色板技术做了大量优化。在算法层面,我们采用了快速高效的颜色表生成算法,以及采用基于hash表搜索的优化技术来代替传统的运动估计方法。同时,加入了大量提前退出算法以提升速度。另外,对于其中的关键模块,加入了SIMD优化,使得编码速度进一步提升。

    经过优化后,IBC和调色板编码的编码性能得到了明显提升,以下是我们优化后的质量对比数据,其中x265使用的是ultrafast和normal模式,具体的命令行如下:

    -p ultrafast/normal --psnr --no-psy --input-res 1920x1080 --fps 15/1 in.yuv -o out.265 --qp 37 --pools 4 --frame-threads 1 --keyint 1000 -f 500 --ipratio 1 --bframes 0 --rc-lookahead 0

    图7 TSE与x265对屏幕内容的压缩效率/编码耗时对比

    图8 TSE与x265对摄像头采集序列的压缩效率/编码耗时对比

    综合来看,对于摄像头采集序列,TSE的编码效率相比于x265-ultrafast模式有20%左右提升。对于屏幕内容序列,TSE相比于x265-ultrafast模式的提升在70%以上。对于x265-normal模式有55%左右的提升。而在编码耗时方面,对于屏幕内容序列,在不打开IBC和PLT的情况下,TSE的平均编码耗时仅为x265-ultrafast的33%左右;打开PLT和IBC后,TSE的平均编码耗时是x265-ultrafast的50%左右。对于摄像头采集序列,TSE的平均编码耗时是x265-ultrafast的88%左右。

    主观质量对比方面,对于文档类序列,TSE编码重建主观质量明显优于x265。图9是文字分别经过TSE和x265编码之后的效果图,我们可以看到,x265编码的振铃效应非常明显,而TSE几乎看不出来。

    图9 TSE与x265编码主观对比图

    4、总结

    屏幕编码技术是针对屏幕内容图像的编码技术,其相对H.265编码压缩效率具有明显优势。屏幕编码技术对于无线投屏,会议,在线教育等各种屏幕内容应用比较多的场景,具有重要意义。

    音视频实验室经过技术攻坚,顺利实现了IBC和调色板模式编码技术,并在腾讯无线投屏和腾讯会议中上线应用。优化后的TSE和x265-normal模式相比,压缩效率提升了55%左右,同时,编码速度也明显比x265快,达到了实时可用的程度。采用TSE编码方式后,对于屏幕内容图像,在节省编码码率的同时提升了主观质量。

     

    转自:https://cloud.tencent.com/developer/article/1427159

    展开全文
  • Unity制作多屏幕解决方案

    千次阅读 2018-07-02 09:42:20
    最近制作了一个多屏幕的项目,多屏幕指的是一个电脑主机,连接多个显示器。我这个项目使用了一个显卡连接了三个显示设备。Unity UGUI提供Canvas画布,在画布上有一个TargetDisplay的解决解决方案。Canvas结合Camera...

    最近制作了一个多屏幕的项目,多屏幕指的是一个电脑主机,连接多个显示器。我这个项目使用了一个显卡连接了三个显示设备。Unity UGUI提供Canvas画布,在画布上有一个TargetDisplay的解决解决方案。


    Canvas结合Camera就可以实现多屏显示。


    多屏还需要一个Display.displays[1].Activate屏幕激活。

    public class DisplayScreen : MonoBehaviour
    {
        void Awake()
        {
            for (int i = 0; i < Display.displays.Length; i++)
            {
                Display.displays[i].Activate();
                Screen.SetResolution(Display.displays[i].renderingWidth, Display.displays[i].renderingHeight, true);
            }
        }
    }

    注意1、你有两个或者多个屏幕你就需要添加多个canvas画布,canvas有一个SortOrder的属性深度,前后的意思,数值越大越靠前,如果你添加了多个层,display场景一中按钮无法点击可能就是camvas画布层不对设置一下。


    2、一定不要忘记Display.displays[1].Activate,你可以把它放到任意一个物体上,如果你得屏幕数是固定你可以写死,如果这里出现问题就会出现其他屏幕黑屏无法显示。开始以为黑屏和分辨率有关系还是这个Activte没有激活,或者多次激活了。

    目前就遇到这两个问题,单纯这一个小项目,做个笔记记录一下问题,之后在遇到就比较轻松解决了。

    展开全文
  • 然鹅,打开PS CS6 我就懵逼了啊 这屏幕 这叫一个小 这是给人看的吗!! 简直反人类 于是百度了 各种方法 有国外大神说可以改注册表什么的  在这里安利一下最简单的方法  右键不合适分辨率的老版...
  • 该App是个游戏,实时交互性比较高,之前试过一些各种手机助手,比如腾讯的应用宝、360手机助手、豌豆荚手机助手等,这些手机助手可以在电脑上显示手机屏幕,但是非常卡顿,基本没法演示游戏App。我的手机是小米Note...
  • 最近写网页经常需要将div在屏幕中居中显示,遂记录下几个常用的方法,都比较简单。 水平居中直接加上&amp;lt;center&amp;gt;标签即可,或者设置margin:auto;当然也可以用下面的方法下面说两种在屏幕正中...
  • Android 屏幕适配方案

    万次阅读 多人点赞 2015-08-01 13:20:53
    1、概述大家在Android开发时,肯定会觉得屏幕适配是个尤其痛苦的事,各种屏幕尺寸适配起来蛋疼无比。如果我们换个角度我们看下这个问题,不知道大家有没有了解过web前端开发,或者说大家对于网页都不陌生吧,其实...
  • iPhone屏幕尺寸、分辨率及适配

    万次阅读 多人点赞 2017-07-29 12:08:57
    从初代iPhone3GS到现如今的iPhone6(+),屏幕尺寸、分辨率、像素密度都在在不断增大。如何适配不同的屏幕尺寸,使UI更加协调美观,这给iPhone/iOS应用开发者带来了挑战。 本文结合个人在iOS UI开发和适配方面的粗浅...
  • Android屏幕适配全攻略(最权威的官方适配指导)

    万次阅读 多人点赞 2015-10-29 14:37:36
    Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因、重要概念、解决方案及最佳实践,我相信如果你能认真的学习本文,对于Android的...
  • VMware虚拟机ubuntu显示屏幕太小解决办法

    万次阅读 多人点赞 2020-04-21 14:12:25
    使用VMware安装的ubuntu虚拟机的显示屏幕太小,可以通过在VMware里安装“VMware Tool”插件解决,安装步骤记录一下。 1. 更改ISO文件路径 安装VMware Tool需要用到虚拟光驱,加载一个ISO文件,在安装的时候加载...
  • Android官方提供的支持不同屏幕大小的全部方法

    万次阅读 多人点赞 2016-10-19 23:25:20
    本文将告诉你如何让你的应用程序支持各种不同屏幕大小,主要通过以下几种办法: 让你的布局能充分的自适应屏幕, 根据屏幕的配置来加载合适的UI布局, 确保正确的布局应用在正确的设备屏幕上, 提供可以根据屏幕大小...
  • 现在很多的地方都需要用到电脑屏幕录制软件,比如:直播、玩游戏甚至追剧,但是电脑版屏幕录制软件层出不穷,有国内的,也有国外的,各种软件千奇百怪而且功能及难度也有所不同,但是屏幕录制软件的主要功能都是录制...
  • 前言Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合: Google的官方权威适配文档 郭霖: Android官方提供的支持不同屏幕大小的全部方法 Stormzhang:Android 屏幕适配 鸿洋:Android 屏幕适配...
  • 【导读】:手机屏幕从发光上讲有着本质的区别,一种是靠外部光源的照亮,一种是自发光。这两种屏幕各有各自的优势,其中LCD阵营的HTC One X和OLED阵营的三星GALAXY SIII也是目前最具代表性的两种屏幕,受到用户的...
  • Android屏幕适配dp、px两套解决办法

    万次阅读 多人点赞 2018-08-25 21:05:11
    “又是屏幕适配,这类文章网上不是很多了吗?” 我也很遗憾,确实又是老问题。但本文重点对网上的各种方案做一个简短的总结,和具体使用方法。 若想了解具体android设备适配的前世因果,请阅读hongyang文章:...
  • 写移动端自适应屏幕的方法

    万次阅读 多人点赞 2020-03-27 19:46:45
    前端移动端开发的时候肯定是会面对不同型号的手机的页面展示问题的,今天给大家推出另外一种自适应不同移动端的方法,使用vw,vh单位。 vw和vh单位的大小是多少? vw和vh是根据设备的宽度和高度来决定的,设备的宽...
  • 我在实现安卓模拟点击屏幕固定位置时尝试了很多方法,碰了不少壁,现在我将我实现的方法分享给大家,以及我尝试过的方法也分享给大家,让大家在开发的路上少走些弯路。 首先我尝试用安卓辅助功能Accessibility...
  • 【OLED】OLED屏幕的基础知识

    千次阅读 2018-08-17 15:19:14
    单色屏幕的像素是一个像素就是一个发光二极管。OLED是”自发光”,像素本身就是光源,所以对比度极高,显示效果很犀利,绝无朦朦胧胧、拖泥带水之感,深受爱好者追捧,可惜当前技术所限制,无法大尺寸化,价格比TFT...
  • css 识别屏幕大小自适应

    万次阅读 2020-04-24 12:28:22
    表示当屏幕大于320px,并小于1156px是执行下面的css @media screen and (min-width: 320px) and (max-width: 1156px){ .site-bg-dl { position: fixed; height: 100%; widt
1 2 3 4 5 ... 20
收藏数 1,236,035
精华内容 494,414
关键字:

屏幕