问题标签 [fallback]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - .NET/Mono 硬件加速图形与软件回退
背景
据我所知,如果可能, WPF会进行硬件加速绘图,如果用户没有 DirectX 9+,则会回退到软件渲染。这是一个非常有趣的想法,我什至喜欢XAML的想法。
我不喜欢它的原因,以及我什至懒得学习它的原因是,虽然Windows Forms是一项 Microsoft 技术,并且不如 WPF,但它是通过Mono跨平台的,这对于 WPF 来说是不正确的,并且可能永远不会。关于 Linux/OS X 的 .NET WinForms 包装器是否会在未来撞上专利砖墙存在争议,但这超出了这个问题的
范围。
问题
是否有任何用于.NET和Mono的库可以让我使用基本的硬件加速(想想 alpha 合成、快速像素操作等),并为没有所需 GPU/驱动程序的系统提供软件后备?
简而言之:非古代台式机和现代笔记本电脑上的快速图形,但低端上网本和类似设备上的可用图形。这不是为了游戏开发。
进一步说明
有几个技巧可以让 GDI+ 更快。原始指针访问大大改进了 Set/GetPixel 。
使用的像素格式可以大大提高渲染效果,32bppPArgb(32 位带 8 位 Alpha 和 RGB 值预乘以 alpha)。
还有其他 技巧可以获得更快的速度,但托管 GDI+ 在某些方面仍然很慢。
我知道的框架
- Unity3D -
AFAIK 不支持 Mono。做。免费版共享软件。 - TAO 框架- 看起来有点复杂,似乎不支持软件渲染。
- OpenTK - 活跃、发达,比 TAO 更好,但也没有软件回退。
- SDL.NET - 与上述相同的问题。
- MonoXNA - 同上。
- Irrlicht - “它是完全跨平台的,使用 D3D、OpenGL 和它自己的软件渲染器”。
- Silverlight / Moonlight - 由dthorpe建议。Alpha 质量,没有任何支持。
- Mono.Cairo - 由Mark H建议。
- AGG - 高质量、非常高效的软件渲染,用 C++ 实现,带有非官方C# 端口。
- Axiom3D - Ogre 端口。支持 Mono,开源并且看起来很活跃。有希望。
我目前的选择是尝试 Irrlicht,但这只是因为我别无选择。在那儿?
此外,尽管它似乎支持软件渲染,但我不知道它在.NET/Mono 包装器中的状态如何,它的支持链接是一个论坛帖子。
目前没有。
此外还有一个问题:我不知道如何围绕图形库“抽象”。如果以后我意识到我做出了错误的选择,我将不知道该怎么做。
请原谅这个问题的长度。
编辑:由于这个问题有两个非常有建设性的答案,我会等几天,然后将最受支持的答案打勾作为接受的答案。
在另一个新闻中,OpenGL 似乎是在软件中实现的,无论是由操作系统供应商还是由第三方实现,这些实现将在缺乏第三方驱动程序的情况下被 OpenGL 框架使用。
android - Android - 视图的后备字体
有没有办法为视图设置后备字体?我的客户要求使用某种不支持西里尔字符的字体(并且他们想要西里尔语言..),因此任何西里尔字符都是漂亮的正方形!我似乎找不到任何东西来为 textview 设置后备字体?
在 iOS 中,有一个默认的后备。不要让我失望 Android!重新制作一个 textview 然后将我的应用程序中的每一个都更改为新的 textview 以支持后备的想法让我很头疼。
谢谢,
html - HTML5:使用清单回退检查用户的连接性
我目前专注于使用 HTML5 的离线 Web 应用程序。我到了需要一种可靠的方法来检查用户的连接以确定他/她目前是在线还是离线的地步。因为我了解到 navigator.onLine 属性非常不可靠,所以我找到了一个非常好的方法,使用缓存清单的后备区域。我从两本不同的书中实现了两种类似的解决方案,一本是“介绍 HTML5”(Lawson/Sharp),另一本是“HTML5:缺失的手册”(MacDonald)。我想这是 HTTP 缓存的问题(我使用 Apache 和 localhost),我对此不太了解。我粘贴了我的代码,它是一些文件,但代码很少。
来自介绍 HTML5 的改编解决方案:http: //pastebin.com/UGsmnAtK
来自 HTML5 的改编解决方案 - 缺少的手册: http: //pastebin.com/8v5ck3E6
用 Chrome 16 测试...
=== 我想要的 ===
- 使用空缓存启动应用程序并运行 apache
- 单击按钮-> 显示警报“在线”
- 停止阿帕奇
- 单击按钮-> 显示警报“离线”
- 启动阿帕奇
- 单击按钮-> 显示警报“在线”
===会发生什么===
介绍 HTML5 解决方案: - 使用空缓存启动应用程序并运行 apache - 单击按钮 -> 显示警报“在线” - 停止 apache - 单击按钮 -> 显示警报“在线” - 启动 apache - 单击按钮 -> 警报显示“在线”
HTML5:缺少的手动解决方案: - 使用空缓存启动应用程序并运行 apache - 单击按钮 -> 显示警报“在线” - 停止 apache - 单击按钮 -> 显示警报“在线” - 启动 apache - 单击按钮-> 显示警报“在线”
其他场景和用例以类似的方式失败。这些书承诺您可以随时使用他们的方法检查用户的连接。所以我想我在这里做错了什么。谢天谢地,我会接受关于这个话题的任何想法。
干杯,菲利克斯
jquery - 带有 Flash 后备的 HTML5 音频播放器 - 过早触发时 Flash 版本中的错误?
我想在一个网站上使用这个很棒的小音频播放器:http ://www.brianhadaway.com/html5-audio-player-with-flash-fallback/
它在 HTML5 中对我来说很好用:http: //carolineelisa.com/audiotest/
但是,当我强制使用 Flash 播放器时(var isFlash = true;
在http://carolineelisa.com/audiotest2/js/jquery.audiocontrol.js中),我在第一次加载时收到 File not found 错误:http: //carolineelisa.com/音频测试2/
之后该按钮将起作用,因此可能由于 Flash 播放器未准备好,以下操作不起作用?
在“单击”按钮之前等待 Flash 播放器的任何提示(如果这确实是问题所在)将非常棒。谢谢!
html - HTML5 Web 应用程序(不是站点)能否与 IE 6-8 兼容
我注意到一些 HTML5 应用程序会提示 IE 6-8 用户下载 Google Chrome Frame 以使用它。我一直想知道为什么他们不选择优雅地降级。是不是因为某些 HTML5 根本无法在旧版浏览器中重现(通过外部库)?还是每个新功能都有这些应用程序根本没有包含的后备功能?
c# - 如果在所选字体 (Tahoma) 中找不到 Unicode 字符,使用什么字体?
我编写了一个 WPF 用户控件,它使用 Tahoma 作为字体来显示 unicode 字符串,效果很好。但是,我注意到 Tahoma 中实际上缺少一些东亚字符,即这种字体不支持所有常见的 Unicode 字符。
但是,当我显示一个包含一些东亚字母的字符串时,我认为 Tahoma.ttf 中缺少该字符串,该字符无论如何都会正确显示,而不是我希望为缺少的 unicode 字符获得的黑色矩形。
所以出于好奇:是否有任何后备机制,即 Windows 7 或 C# WPF 是否替换后备字体中缺少的字符?谁能解释一下这是如何工作的,以及实际使用哪种字体作为 allback?
performance - Magento 的回退机制的性能成本是多少?
Magento 有一个回退机制,通过一组定义的路径检查预期文件的存在,帮助防止错误和主题问题。它是这样实现的:
作为 Magento 主题开发人员,您有两个选择:您可以尽可能少地添加到新主题并依赖回退,或者您可以将回退主题中的所有内容复制到新主题中并修改它(在这种情况下,回退有在找到目标之前迭代更少的文件)。推荐前一种方法。后者不是。
复制这些文件肯定很麻烦,但另一方面,回退似乎应该相当昂贵,特别是如果(作为一个优秀、精明的编码器)您确保尽可能多的文件回退。所以我发现自己想知道如果我采取措施尽量减少发生的回退量,Magento 网站是否会表现得更好。
我在网上搜索过,但没有找到关于这个问题的任何信息,而且我对 Magento 还不够熟悉,无法自己描述回退。有没有关于这个回退机制的实际性能成本的任何信息?
javascript - 如果禁用 Javascript,如何恢复正常?
php - Html5 websockets php开发的理想平台
我们计划构建一个庞大的 Web 应用程序,提供实时数据更新和显示(例如股票市场)。需要有效的服务器-客户端双向通信。经过研究 html5 web-sockets 似乎是必须的。但是,在兼容性和回退以及服务器支持方面存在一些问题。我们需要一个简单稳定的php优选和apache集成解决方案。我们用 phpwebsockets 和 pywebsockets 做了一些测试,但它们似乎不太稳定。作为更稳定的测试解决方案,您会提出什么建议,比如 kaazing,但在 php 中?先感谢您。