小编SDw*_*rfs的帖子

Android浏览器忽略响应式网页设计

我刚开始转换我的网站有'响应式网页设计'.我安装了Firefox的"Web Developer"插件(http://chrispederick.com/work/web-developer/)来检查它是否正常工作.一切都很好看.

现在我用我的Android手机尝试了这个.我在纵向模式下无法正常工作......我在手机上跟踪了@ media-selectors处理错误的问题:

此页面(https://worldtalk.de/m/test.php)生成一个CSS,输出浏览器使用的高度/宽度和设备高度/宽度+方向作为参数.

我得到了以下结果:

  • 肖像,800x1200
  • 风景,800x400

方向是正确的,两个方向的宽度/高度和设备宽度/高度相同.但该设备(HTC Desire Z)仅使用错误的屏幕分辨率(800x1200)进行纵向模式.我想避免使用带有用户代理的设备数据库或类似的东西.

附加信息:

  • 浏览器版本:WebKit/533.1
  • Android 2.3.3/Sense 2.1
  • HTC Desire Z(T-Mobile固件)
  • JavaScript报告相同的屏幕分辨率

问题:

  • 这只是我的手机型号还是Android浏览器的一般行为?
  • 如何解决这个问题?

css android css3 responsive-design

24
推荐指数
1
解决办法
2万
查看次数

如何在OpenCL中使用async_work_group_copy?

我想了解如何在OpenCL中正确使用async_work_group_copy()调用.我们来看一个简化的例子:

__kernel void test(__global float *x) {
  __local xcopy[GROUP_SIZE];

  int globalid = get_global_id(0);
  int localid = get_local_id(0);
  event_t e = async_work_group_copy(xcopy, x+globalid-localid, GROUP_SIZE, 0);
  wait_group_events(1, &e);
}
Run Code Online (Sandbox Code Playgroud)

参考http://www.khronos.org/registry/cl/sdk/1.0/docs/man/xhtml/async_work_group_copy.html说"执行从src到dst的num_elements gentype元素的异步副本.异步副本由以下位置执行:因此,工作组中的所有工作项必须由执行具有相同参数值的内核的工作组中的所有工作项遇到此内置函数;否则结果是未定义的.

但这并没有澄清我的问题......

我想知道,如果以下假设是正确的:

  1. 对async_work_group_copy()的调用必须由组中的所有工作项执行.
  2. 调用应该是这样的:源地址对于所有工作项是相同的,并指向要复制的存储区的第一个元素.
  3. 由于我的源地址是相对的,因此基于工作组中第一个工作项的全局工作项ID.因此,我必须减去本地ID,以使所有工作项的地址相同...
  4. 第三个参数是否真的是元素数量(不是以字节为单位的大小)?

奖金问题:

一个.我可以使用barrier(CLK_LOCAL_MEM_FENCE)而不是wait_group_events()并忽略返回值吗?如果是这样,那会更快吗?

湾 本地副本是否对CPU上的处理有意义,还是因为它们共享缓存而产生的开销?

此致,斯特凡

opencl

15
推荐指数
1
解决办法
5571
查看次数

jQuery选项卡:面板覆盖100%高度的选项卡

我正在尝试使用具有面板内容的jQuery-UI的选项卡小部件来扩展到整个可用空间.

这是我到目前为止的简化版本:http: //jsfiddle.net/MhEEH/3/

当我使用以下CSS时,您会看到#tab-1的绿色面板内容只覆盖整个页面,而不仅仅是面板空间:

 #tab-1 {
    background: green;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
Run Code Online (Sandbox Code Playgroud)

我可以使用"top:27px;" 解决这个问题,但这会碰到两件事:

  1. 如果我更改选项卡"主题",高度(27px)可能会更改
  2. 如果我有很多标签,我会在第一行下面有第二行.所以我的小组内容将涵盖第二行......

干净简洁的解决方案会很好.

JavaScript是可以接受的,而(干净!)仅CSS的解决方案更可取......

- 问候,

斯特凡

css jquery tabs jquery-ui jquery-tabs

12
推荐指数
1
解决办法
2万
查看次数

如何告诉clang不要将寄存器保存到堆栈中?

目标

我目前正在尝试avr-llvm(支持AVR作为目标的llvm).我的主要目标是使用它希望更好的优化器(与gcc相比)来实现更小的二进制文件.如果你对AVR了解一点,你知道你只有很少的记忆.

我目前使用的是一个ATTiny45,4KB闪存和256字节(只是字节而不是KB!)的SRAM.

问题

我正在尝试编译一个简单的C程序(见下文),以检查生成的汇编代码以及机器代码大小的开发方式.我使用"clang -Oz -S test.c"来生成组件输出并优化它以实现最小尺寸.我的问题是不必要的保存寄存器值,知道这种方法永远不会返回.

我的问题......

我怎么能告诉llvm它可以破坏任何寄存器,如果需要而不保存/恢复它的内容?任何想法如何更优化它(例如更高效的堆栈设置)?

细节/示例

这是我的测试程序.如上所述,它是使用"clang -Oz -S test.c"编译的.

#include <stdint.h>

void __attribute__ ((noreturn)) main()  {
     volatile uint8_t res = 1;
     while (1) {}
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,它只有一个类型为uint8_t的"volatile"变量(如果我没有将它设置为volatile,那么所有内容都会被优化掉).此变量设置为1.最后有一个无限循环.现在让我们看一下程序集输出:

.file   "test.c"
    .text
    .globl  main
    .align  2
    .type   main,@function
main:
    push    r28
    push    r29
    in  r28, 61
    in  r29, 62
    sbiw    r29:r28, 1
    in  r0, 63
    cli
    out 62, r29
    out 63, r0
    out 61, r28
    ldi r24, 1
    std Y+1, r24
.BB0_1:
    rjmp    .BB0_1
.tmp0:
    .size   main, …
Run Code Online (Sandbox Code Playgroud)

optimization avr llvm clang llvm-clang

10
推荐指数
1
解决办法
2673
查看次数

浏览器会限制AJAX轮询率吗?限制是多少?

我刚看到有些浏览器会阻止HTTP轮询(我想通过限制请求的速率)......

来自https://github.com/sstrigler/JSJaC:

注意:由于大多数现代浏览器的安全限制阻止HTTP轮询再次可用,因此默认情况下此模块已被禁用.如果你想在使用'make polling'中编译它.

这可以解释我的一些JavaScripts的一些不当行为(有时请求不会被发送或重试,即使它们实际上是成功的).但我无法找到有关细节的更多信息..

问题

  • 如果它是"每x秒最大请求数n",x和n的通常/默认设置是什么?
  • 这有什么好的资源吗?
  • 有没有办法检测请求是否因为速率限制而被"延迟"或"拒绝"?

谢谢你的帮助...

斯特凡

ajax xmlhttprequest limit polling rate

9
推荐指数
2
解决办法
2774
查看次数

实体框架和DateTime比较,具有毫秒精度

关于DateTime值的比较,我在C#下的实体框架(Code First)遇到了问题.我使用下面定义的类Validity(在本例中简化)作为其他实体的超类,这些实体应该具有及时的有效性.

public abstract partial class Validity {
    [Key]
    public int ID { get; set; }

    public DateTime? ValidFrom { get; set; }
    public DateTime? ValidTo { get; set; }

    /**
     * @brief This method builds an IQueryable from another IQueryable,
     * with added restriction on ValidityFrom/To
     *
     * An object's validitiy is defined to
     *   1. start at timestamp ValidFrom (=inclusive) and
     *   2. to end before ValidTo (=exclusive).
     *   3. If ValidFrom or ValidTo is NULL, it means …
Run Code Online (Sandbox Code Playgroud)

datetime entity-framework compare sql-server-2008 entity-framework-5

8
推荐指数
1
解决办法
3524
查看次数

Netbeans自动完成没有完全使用当前的jQuery.js(v1.8.0)

我刚开始使用netbeans(Win7/64bit下的NetBeans IDE 7.2(Build 201207171143))来尝试jQuery开发.特别是自动完成看起来非常方便..

我使用了这个教程:http://netbeans.org/kb/docs/web/js-toolkits-jquery.html 我做了本教程中的所有内容,但是使用了当前版本的jQuery.js(v1.8.0)而不是旧版1.4.2修订版.

让我们看看以下代码剪切:

<script type="text/javascript">
  $(document).ready(function(){
    $("h1").click(function(){ alert ("HI!"); });
  });
</script>
Run Code Online (Sandbox Code Playgroud)

自动完成适用于"$(文档)".并建议"准备好".到现在为止还挺好...

第3行以"$("h1")开头." 在那个选择器后跟"." 我得到了很多建议但不是"点击"; 当我使用较旧的jQuery-1.4.2.js时,它的工作方式如教程的以下屏幕截图所示:http://netbeans.org/images_www/articles/69/web/js-toolkits-jquery/code-completion. PNG

问题:

  • 这实际上是什么问题?
  • 我们能以某种方式使用当前版本的jQuery吗?如果是这样:怎么样?
  • 谁可能在这里负责...... jQuery或netbeans中的错误?

此致,斯特凡

---更新---

如果您<script type="text/javascript" src="js/jquery.js"></script>向源代码添加一个问题,则只会出现此问题.如果省略include,它就可以正常工作.所以这似乎是Netbeans的一个问题.并引导我们进行以下改编的问题:

问题:不包括jquery.js只是一种解决方法.有办法解决这个问题吗?也许我们需要在项目的某个地方禁用一些"auto-include-everything"选项?

---更新#2:解决方案---

它甚至包含脚本的名称也<script type="text/javascript" src="jq.js"></script>起作用,但是以"jquery.js"结尾的任何资源名称都不起作用,而是<script type="text/javascript" src="jquery-1.8.0.js"></script>有效!所以它实际上是Netbeans中的一种错误,这是由一些硬编码的东西引起的.解决方案是重命名JavaScript文件,例如它仍然包含修订版.

javascript jquery netbeans autocomplete

7
推荐指数
1
解决办法
2914
查看次数

有没有机会通过Android NDK相机访问减少快门时间?

我写了一个Android应用程序,从相机捕获实时预览.快门时间很短很重要,至少应保持不变.

目前我使用以下代码来实现低快门时间:

Parameters params = camera.getParameters();
params.setSceneMode(Parameters.SCENE_MODE_SPORTS);
params.setWhiteBalance(Parameters.WHITE_BALANCE_DAYLIGHT);
params.setFlashMode(Parameters.FLASH_MODE_OFF);
params.setFocusMode(Parameters.FOCUS_MODE_INFINITY);

params.setPreviewFpsRange(9000, 29453);
params.setPreviewFrameRate(29453);
params.setJpegQuality(100);
params.setPreviewFormat(ImageFormat.NV21);

params.setPreviewSize(1280,720);
params.setAntibanding(Parameters.ANTIBANDING_OFF);
params.setExposureCompensation(params.getMinExposureCompensation());
params.set("iso", 1250);
camera.setParameters(params);
Run Code Online (Sandbox Code Playgroud)

我的手机固件似乎不支持setSceneMode()(getSupportedSceneModes返回一个空列表)."ISO" - 设置可能没有效果(没有查看图片,只是计算了帧速率).刚刚在某个地方找到了这个代码并使用它......也许它只是错误的字符串?

到目前为止发生的情况是:帧速率在9到29,453 fps之间变化,这是唯一支持的帧速率范围.所以params.setPreviewFpsRange(29453, 29453);也不起作用.在良好的光线条件下(正常的一天,在室内,指向窗户),帧率很高(20-30 fps),对于中/低光(日光,室内,直接远离窗户),帧率变得非常低(8-10 fps)条件.

更详细:我不需要高帧速率,但需要低快门时间.收集的数据应用于室内导航(或第一步的室内定位).该应用程序需要在一个人正常行走时拍照,而不需要关心他/她如何携带电话.这个人甚至可以跑步或"摇摆"手机(因为你走路时通常会移动手臂).因此,快门时间太长,通常会出现很多"运动模糊".情况与"我想拍照"情况大不相同,照片试图保持相机稳定.我们实际上不想获得"好照片",但想要以某种方式不时检测到一些墙壁边缘.我期待图片中有很多"噪音",但无论如何这有希望......

想法是,有可能使用NDK更好地控制相机参数.有没有人有NDK的经验,可以回答我天气值得尝试?

附加信息:我正在使用HTC Desire Z(也称为"T-Mobile G2"或"HTC Vision")作为测试设备.

camera android android-ndk

6
推荐指数
1
解决办法
2113
查看次数

最大限度地减少高数据包速率下丢弃的 UDP 数据包 (Windows 10)

重要提示:我知道 UDP 是一种不可靠的协议。但是,由于我不是提供数据的设备的制造商,我只能尽力将影响降到最低。因此,请不要再发表任何有关 UDP 不可靠的言论。我需要建议来将损失降至最低。

我实现了一个C++应用程序,需要在短时间内接收大量UDP数据包,并且需要在Windows(Winsock)下工作。该程序可以工作,但如果每个 UDP 流的数据速率(或数据包速率)达到一定水平,似乎会丢弃数据包...请注意,我无法更改相机接口以使用 TCP。

详细信息:它是千兆以太网摄像机的客户端,使用 UDP 数据包将图像发送到计算机。每个摄像机的数据速率通常接近网络接口的容量(约 120 兆字节每秒),这意味着即使使用 8KB 巨型帧,每个摄像机的数据包速率也为 10,000 到 15,000。目前,我们已将 4 个摄像头连接到一台计算机...这意味着每秒最多可处理 60,000 个数据包。

该软件同时处理所有摄像机,每个摄像机的流接收器作为单独的线程实现,并具有自己的接收 UDP 套接字。在一定的帧速率下,软件似乎每隔几分钟就会丢失一些 UDP 帧(即使网络容量仅使用约 60-70%)。

硬件细节

  • 相机都是国外厂家的!它们通过以太网将 UDP 流发送到可配置的 UDP 端点。不支持 TCP...
  • 摄像机通过自己的专用网络接口(1GBit/s)连接
  • 直接连接,无需使用开关(!)
  • 电缆为 CAT6e 或 CAT7

实施细节

到目前为止,我将 SO_RCVBUF 设置为一个较大的值:

int32_t rbufsize = 4100 * 3100 * 2; // two 12 MP images
if (setsockopt(s, SOL_SOCKET, SO_RCVBUF, (char*)&rbufsize, sizeof(rbufsize)) == -1) {
    perror("SO_RCVBUF");
    throw runtime_error("Could not set socket option SO_RCVBUF.");
}
Run Code Online (Sandbox Code Playgroud)

错误不会被抛出。因此,我认为该值已被接受。我还使用以下代码将主进程的优先级设置为 HIGH-PRIORITY_CLASS:

SetPriorityClass(GetCurrentProcess(), …
Run Code Online (Sandbox Code Playgroud)

c++ sockets networking udp winsock

5
推荐指数
1
解决办法
4353
查看次数

std::vector 范围构造函数 [start, end) 是否复制或仅引用数据?

我想知道 std::vector 的范围构造函数是否复制数据,或者只是引用它?

看看这个例子:

vector<int> getVector() {
    int arr[10];
    for(int i=0; i<10; ++i) arr[i] = i;
    return vector<int>(arr, arr+10);
}
Run Code Online (Sandbox Code Playgroud)

这会导致错误(由于分发了对稍后被销毁的堆栈的引用)还是可以,因为它复制了构造函数中的数据?

编辑#1

为了澄清:我正在寻找或多或少的官方资源来指出构造函数的以下哪些伪代码实现是有效的。我知道构造函数的签名是不同的......但是,你应该明白。

版本A(仅在内部使用给定的数据)

   template<typename T>
   class vector {
   private:
     T* data;
     int size;
   public:
     vector<T>(T* start, T* end) {
       data = start;
       size = (end - start);
     }
   };
Run Code Online (Sandbox Code Playgroud)

版本 B(显式复制数据)

   template<typename T>
   class vector {
   private:
     T* data;
     int size;
   public:
     vector<T>(T* start, T* end) {
       for(T* it = start; it < end; ++it) push_back(*it);
     }
   };
Run Code Online (Sandbox Code Playgroud)

c++ stdvector language-lawyer

5
推荐指数
1
解决办法
1915
查看次数